Você já ficou na dúvida sobre o que realmente é um objeto no R? Ou por que isso faz diferença na hora de programar ou analisar dados?
Neste artigo, vou te mostrar de um jeito direto o que são objetos no R. Também vou explicar como eles aparecem no seu dia a dia e quais tipos você mais vai esbarrar.

Um objeto no R é qualquer coisa que guarda dados ou funções — vetores, matrizes, data frames e listas são exemplos comuns. A seguir, você vai ver o que define esses objetos e como identificá-los para facilitar seu código.
O que é um objeto no R?
Objetos no R guardam valores, estruturas de dados ou funções usados nas análises. Eles sempre têm um nome, um conteúdo e atributos que apontam tipo e tamanho.
Como funciona o sistema de objetos no R
No R, tudo que você cria acaba virando um objeto: vetores, data.frames, funções, números, resultados de modelos e por aí vai. Cada objeto tem duas propriedades básicas: modo (tipo de dado, tipo “numeric” ou “character”) e comprimento (length).
A classe do objeto indica como o R vai tratar aquele dado. Por exemplo, um objeto com classe “factor” se comporta como categorias em tabelas e gráficos.
Você pode converter tipos usando funções como as.numeric() ou as.character(). Use is.vector() e outras funções is.* para checar o tipo antes de mexer. Atribuição normalmente usa <- ou =.
Atributos extras, como names ou levels (em fatores), mudam como as funções entendem seus dados. Conhecer esses detalhes ajuda a evitar dor de cabeça quando mistura objetos diferentes.
Tipos de objetos mais comuns
Você vai esbarrar muito nesses tipos:
- Vetores: sequências de um só tipo (numeric, character, logical).
- Data.frames: tabelas com colunas que podem ter tipos diferentes.
- Matrices: tabelas onde tudo tem o mesmo tipo.
- Lists: contêineres que juntam vetores, data.frames, funções, o que for.
- Factors: categorias, muito úteis em modelos e gráficos.
- Functions: código guardado que você chama com argumentos.
Use as.factor() para transformar texto em fator. Para virar data.frame, use as.data.frame(). Saber quando usar cada um faz diferença na hora de evitar conversões automáticas que dão erro.
Nomenclatura e criação de objetos
Prefira nomes claros e curtos, sem espaço, começando por letra. Exemplos: vendas_mes, idade_usuarios, modelo_lm. Não use nomes de funções do R e separe palavras com underline ou ponto.
Para criar objetos, faça assim:
- vetor <- c(1,2,3)
- nomes <- c(“Ana”,”João”)
- df <- data.frame(idade=vetor, nome=nomes)
Converta tipos com as.numeric(), as.character() e as.factor() quando precisar. Teste tipos com is.vector(), is.factor() ou class() antes de aplicar funções. Isso te poupa de erros tipo tentar somar letras ou tratar fatores como número.
Principais tipos de objetos com R
Aqui estão os tipos de objetos mais usados no R. Vou mostrar como criar, converter e mexer em cada um deles.
Vetores: tipos, criação e conversão
Vetores guardam valores do mesmo tipo: numeric, complex, character ou logical.
Crie vetores com c(). Por exemplo: vetor <- c(1, 2, 3) ou nomes <- c(“Ana”, “Beto”). Para lógicos, use TRUE/FALSE; para complexos, 1+2i.
Converter tipos é comum. Use as.numeric(), as.character(), as.logical() para transformar dados. Por exemplo, as.numeric(c(“1″,”2”)) vira números. Mas cuidado: as.numeric(“a”) vira NA.
Quer juntar texto? Use paste(): paste(“ID”, 1:3) vira “ID 1” “ID 2” “ID 3”.
Operações vetoriais agem elemento a elemento. Por exemplo, vetor + 1 soma 1 a cada elemento. Para comparar, faça vetor == 2. Para acessar, use colchetes: vetor[2] pega o segundo item.
Data frames e manipulação de tabelas
Data.frame é uma tabela com colunas nomeadas. Crie assim: df <- data.frame(id=1:3, nome=c(“A”,”B”,”C”)). Cada coluna pode ter um tipo diferente.
Para ver a estrutura, use str(df) ou head(df).
Converta objetos em data.frame com as.data.frame(). Por exemplo, transforme uma lista em tabela ou um vetor em uma coluna. Use as.numeric() em colunas para calcular médias, ou as.character() para juntar textos.
Acesse colunas com df$nome ou df[[“nome”]]. Para filtrar, df[df$idade > 30, ]. Para adicionar coluna: df$nova <- vetor. E pra juntar tabelas, use merge(), rbind(), cbind().
Listas, matrizes e fatores
Listas guardam objetos variados. Crie uma com list(a=1, b="x", c=TRUE).
Você pode colocar vetores, data.frames e até funções dentro de uma lista. Para extrair elementos, use [[ ]] ou o $.
Matrizes são bidimensionais e exigem um único tipo de dado. Crie uma matriz com matrix(1:6, nrow=2).
Se quiser, atribua nomes de linha ou coluna usando dimnames. Só tome cuidado: operações entre matrizes só funcionam se as dimensões baterem.
Fatores representam categorias. Crie um fator assim: factor(c("M","F","F","M")).
Eles têm níveis (levels) que definem as categorias e sua ordem. Se precisar converter um fator para caractere, use as.character().
Para transformar em número, tente as.numeric(as.character(fator)), porque senão pode acabar pegando o número do nível, não o valor real.
Use listas quando quiser misturar tipos de dados. Matrizes são boas para cálculos, e fatores servem quando suas variáveis são categorias.
