Você já ficou na dúvida sobre o que é um objeto com R e por que isso faz diferença quando está programando ou mexendo com dados?
Um objeto com R é qualquer estrutura criada no R — vetores, listas, funções, data.frames — que guarda valores e deixa você manipular informações de um jeito eficiente.

Esses objetos se organizam em tipos e classes.
Com estruturas como data.frame, dá pra trabalhar com tabelas e transformar dados com bem mais controle.
Tarefas de análise, limpeza e visualização acabam ficando bem menos chatas.
Se quiser pegar o jeito da manipulação de objetos no R, dá pra ver exemplos práticos de como criar, inspecionar e mexer nos objetos, um passo de cada vez.
Tipos e Classes de Objetos no R
R não brinca quando o assunto é organizar dados em objetos, cada um com sua forma e classe.
Você vai esbarrar em vetores o tempo todo, além de tipos simples (numeric, character, logical, complex).
Transformar entre classes?
Use funções como as.numeric(), as.character() e as.factor() — e torça pra não dar NA.
Vetores: Conceitos e Criação
Vetor em R é uma sequência unidimensional, tudo do mesmo tipo.
Pra criar, só usar c(), tipo: vetor <- c(1, 2, 3).
Quer conferir se é vetor mesmo?
is.vector(vetor) responde.
Vetores podem ser de números, texto ou lógicos.
As operações vetoriais pegam todos os elementos de uma vez, então soma, comparação, tudo rola em lote.
Vetores acabam sendo a base para data frames e listas.
Sério, quase todo script usa pelo menos um.
Dicas rápidas:
- Vetor numérico: n <- c(1.5, 2, 3)
- Vetor de texto: nomes <- c(“Ana”, “Bruno”)
- Vetor lógico: flag <- c(TRUE, FALSE, TRUE)
Pra acessar elementos, use colchetes: vetor[2] e pronto.
Objetos do tipo Numeric, Character, Logical e Complex
Numeric é pra números reais ou inteiros.
Funções matemáticas esperam esse tipo, então fique de olho.
Quer saber o tipo?
typeof(x) ou class(x) resolve.
Character guarda texto.
Não dá pra fazer conta com string, claro.
Se precisar converter pra texto, use as.character().
Serve pra concatenar ou salvar nomes, por exemplo.
Logical só aceita TRUE ou FALSE.
Bem útil pra filtros e comparações: dados[dados$idade > 18, ] é um clássico.
Complex lida com números tipo 1+2i.
R faz conta com eles sem drama, mas raramente você vai precisar disso.
Tabela rápida:
- numeric: números (typeof -> “double” ou “integer”)
- character: texto
- logical: TRUE/FALSE
- complex: parte real + imaginária
Conversão entre Classes com funções as.numeric(), as.character(), as.factor()
Converter classe de objeto é corriqueiro.
as.numeric(x) transforma texto que parece número em número — se não parecer, vira NA e ainda reclama.
as.character(x) transforma número ou lógico em texto.
Serve pra juntar colunas ou salvar relatório, tipo as.character(123) que vira “123”.
as.factor(x) cria fatores a partir de vetores character ou numeric.
Fatores guardam níveis, ótimo pra modelos estatísticos.
Quer voltar pra número?
as.numeric(as.character(f)) ou as.numeric(levels(f))[f] pode funcionar, mas cuidado pra não bagunçar valores.
Verificações úteis:
- class(x) e typeof(x) mostram a classe e o tipo.
- is.vector(x) diz se é vetor mesmo.
- Sempre confira se a conversão não virou NA ou bagunçou os níveis.
Estruturas de Dados: data.frame e Manipulação de Objetos
Data frames são tabelas, com linhas e colunas.
Cada coluna pode ter um tipo diferente.
Você pode criar um data.frame, transformar outras estruturas em data.frames e usar funções como paste(), as.data.frame() e data.frame() pra organizar os dados.
data.frame: O que é e como criar
O data.frame é uma tabela bidimensional.
Linhas são observações, colunas são variáveis.
Cada coluna pode ser numérica, texto ou fator, mas todas têm que ter o mesmo número de linhas.
Pra criar na mão, use data.frame():
- data.frame(nome = c(…), idade = c(…), ativo = c(TRUE, FALSE))
Isso joga um objeto data.frame no seu ambiente.
Quer ler CSV direto pra um data.frame?
read.csv() ou readr::read_csv() resolvem.
Nomes claros nas colunas ajudam bastante.
Sério, evita dor de cabeça depois.
Manipulando e convertendo dataframes
Pra acessar coluna: df$coluna ou df[[“coluna”]].
Pra linhas e colunas juntos: df[linhas, colunas], tipo df[1:5, c(“nome”,”idade”)].
Converter estruturas?
as.data.frame(minha_lista) ou as.data.frame(minha_matriz) fazem o serviço.
Adicionar coluna: df$nova <- valores ou df <- cbind(df, nova_coluna).
Remover coluna: df$coluna <- NULL ou dplyr::select(df, -coluna).
Pra filtrar ou ordenar, use subset(), dplyr::filter(), dplyr::arrange().
Quer juntar data.frames? rbind() adiciona linhas, merge() ou dplyr::left_join() fazem join por chave.
Funções úteis para objetos: paste(), as.data.frame() e data.frame()
paste() junta strings de forma simples: paste(nome, sobrenome, sep = ” “).
Use paste0() quando não quiser separador. Isso é ótimo pra criar IDs ou rótulos sem complicação.
as.data.frame() converte listas, matrizes e vetores em data.frames.
É útil quando uma função retorna uma lista e você precisa daquele formato tabular do R.
data.frame() cria data.frames do zero, definindo cada coluna.
Por exemplo:
df <- data.frame(ID = 1:5, Produto = c(“A”,”B”,”C”,”D”,”E”), Preco = c(10.5,20,15,8,12))
Dica rápida: sempre confira as classes com str(df).
Ajuste fatores usando stringsAsFactors = FALSE se quiser texto como character.

Leave a Comment