Introdução ao R | Aula 04

Objetos

Filosofia de publicação (Selo DC)

Apoio CEAC e UFSJ

Livro de Apoio

Usaremos Batista e Oliveira (2022):

Retornando a afirmação de John Chambers

Princípio do Objeto: Tudo que existe em R é um objeto

O que é um objeto?

Objeto: uma entidade no ambiente R com características internas contendo informações necessárias para interpretar sua estrutura e conteúdo

Metadado de um objeto?


  • Atributos
    • Atributos intrínsecos: modo e comprimento

Estrutura de um objeto

Estrutura de um objeto: Disposição como armazenamos um objeto na memória virtual do computador e a forma como apresentamos este objeto a nível de usuário. O primeiro é chamado de estrutura interna, e o segundo, estrutura externa.

  • Estrutura interna: tipagem
  • Estrutura externa: estrutura de dado

Estrutura de um objeto

  • Estrutura interna: tipagem
    • Existem 24 tipos de objetos em R;
    • Só podem ser criados pelos mantenedores do R (R Core Team);
    • Usamos typeof() para tipagem C; e
    • Usamos mode() para tipagem S

Estrutura de um objeto

  • Estrutura externa: estrutura de dados
    • Existem muitos tipos de estrutura de dados;
      • Exemplos: Vetor, matriz, quadro de dados (data frame), tibles, etc;
    • Podem ser criados a nível de usuário

Associando o nome a um objeto

Exemplo:

> x <- 10L

Quadro de dados (Data frames)

O objeto quadro de dados (Data frame) é uma lista com classe data.frame, com algumas restrições:

  • Os componentes devem ser vetores uni ou multidimencionais, listas ou até mesmo quadro de dados;
  • As colunas das matrizes, listas ou quadro de dados são inseridas como colunas do quadro de dados;
  • A partir da versão R (4.0.0), padrão stringsAsFactors = FALSE;

Quadro de dados (Data frames)

  • Os objetos inseridos no quadro de dados devem ter o mesmo comprimento;
  • Importar dados para um objeto R (read.table())=> Quadro de dados

Criando um quadro de dados

> # Criando um quadro de dados
> dados <- data.frame(x = 1:10, 
+                     y = letters[1:10],
+                     z = rep(c(TRUE, FALSE), 5))
> # Imprimindo dados
> dados
    x y     z
1   1 a  TRUE
2   2 b FALSE
3   3 c  TRUE
4   4 d FALSE
5   5 e  TRUE
6   6 f FALSE
7   7 g  TRUE
8   8 h FALSE
9   9 i  TRUE
10 10 j FALSE

Indexação de um quadro de dados

> # Acessando os elementos de forma de lista
> dados[[1]]
 [1]  1  2  3  4  5  6  7  8  9 10
> dados$x
 [1]  1  2  3  4  5  6  7  8  9 10

Indexação de um quadro de dados

> dados[1, ] # Coluna 1
  x y    z
1 1 a TRUE
> dados[1, 1] # Elemento da linha 1 coluna 1
[1] 1
> (dados[1, 1] <- 10) # Alterando dados[1,1]
[1] 10

Anexando objetos do quadro de dados no caminho de busca

> # Criando um quadro de dados
> dados <- data.frame(x = 1:10, 
+                     y = letters[1:10],
+                     z = rep(c(TRUE, FALSE), 5))
> # Usando a funcao attach()
> attach(dados)
> x # Acessando os elementos
[1] 10
> detach(dados); x # Desanexando dados
[1] 10

Questões?

Dúvidas e Sugestões

Contato

Obrigado!

https://bendeivide.github.io/courses/estgeo/

Referências

BATISTA, B. D. O.; OLIVEIRA, D. A. B. J. R básico. Ouro Branco, MG, Brasil: [s.n.], 2022.