Curso
R, uma linguagem de programação estatística popular voltada para tratamento, análise e visualização de dados, vem equipada com diversas estruturas de dados otimizadas para lidar com diferentes tipos de tarefas. Dominar o conjunto de estruturas de dados do R é a porta de entrada para liberar todo o seu potencial e transformar dados em insights valiosos.
Para começar, experimente nosso curso Introduction to R Programming, no qual você pratica esses conceitos com dados reais. Vamos nessa.
O que são estruturas de dados na linguagem R?
As estruturas de dados em R ajudam a organizar os dados para análise. Elas podem ser simples, armazenando apenas um tipo de dado, ou complexas, comportando tipos diversos. Essas estruturas são moldadas às necessidades que surgem em projetos orientados por dados. As principais estruturas de dados em R são vetores, listas, matrizes, arrays, fatores e data frames.
Estruturas de dados em R
Os diferentes tipos de estruturas de dados em R
Vamos tirar um tempo para nos familiarizar com as estruturas de dados do R. Nesse caminho, também vamos rever funções comuns da linguagem.
Vetores em R
Vetores são a forma mais simples de estrutura de dados em R. Eles são coleções de elementos do mesmo tipo, como numérico, caractere ou lógico.
R foi projetado para trabalhar muito bem com vetores e, em especial, com operações vetorizadas. Isso significa que você pode aplicar uma função a um vetor sem precisar percorrer seus elementos em um loop. Por exemplo, somar dois vetores soma os elementos correspondentes de forma mais rápida e concisa do que fazer isso elemento a elemento com laços.
A seguir, criamos três vetores dos tipos numérico, caractere e lógico usando a função c().
numeric_vector = c(10, 20, 30)character_vector = c("apple", "banana", "cherry")logical_vector = c(TRUE, FALSE, TRUE)
print(numeric_vector)print(character_vector)print(logical_vector)
Exemplos de vetores em R
Você pode acessar os elementos do vetor usando colchetes.
# Acessar o primeiro elemento
print(numeric_vector[1])
# Acessar múltiplos elementos
print(character_vector[c(1, 3)])
Acessando elementos de um vetor em R
Também é possível realizar operações matemáticas e lógicas com vetores.
# Somar um escalar ao vetor
print(numeric_vector + 2)
# Multiplicar elementos por um escalar
print(numeric_vector * 10)
# Operações lógicas - verificar quais elementos são maiores que 15
print(numeric_vector > 15)
Operações com vetores em R
Outras operações importantes incluem somar, calcular a média e encontrar os valores mínimo e máximo.
# Soma
print(sum(numeric_vector))
# Média
print(mean(numeric_vector))
# Máximo e mínimo
print(max(numeric_vector))
print(min(numeric_vector))
Saída de funções básicas do R
Matrizes em R
Matrizes são arrays bidimensionais que armazenam dados de um único tipo. Elas são especialmente úteis para cálculos matemáticos. Em R, você cria uma matriz com a função matrix().
my_matrix <- matrix(1:9, nrow=3, ncol=3)print(my_matrix)
Criando uma matriz em R
Você pode acessar elementos, linhas, colunas ou subconjuntos da matriz usando índices.
# Acessar o elemento na primeira linha e segunda coluna
print(my_matrix[1,2])
# Acessar a segunda linha
print(my_matrix[2,])
# Acessar a terceira coluna
print(my_matrix[,3])
Acessando elementos de uma matriz em R
Também é possível realizar operações matemáticas com matrizes.
another_matrix <- matrix(9:1, nrow=3, ncol=3)
# Adição elemento a elemento
print(my_matrix + another_matrix)
# Subtração elemento a elemento
print(my_matrix - another_matrix)
# Multiplicação elemento a elemento
print(my_matrix * another_matrix)
# Divisão elemento a elemento
print(my_matrix / another_matrix)

Operações matemáticas com matrizes em R
Arrays em R
Arrays são uma extensão das matrizes e podem ter mais de duas dimensões, permitindo armazenar dados multidimensionais de forma eficiente. Você cria um array em R com a função array().
O argumento dim = c(2, 2, 2) define as dimensões do array. Neste caso, o array terá três dimensões (um array 3D), estruturado em 2 linhas, 2 colunas e 2 camadas (ou profundidade). A saída do código acima está mostrada abaixo. Você pode saber mais no nosso tutorial Arrays in R.
my_array = array(1:8, dim = c(2, 2, 2))
print(my_array)

Criando um array em R
Listas em R
Listas são estruturas de dados versáteis em R que podem conter uma mistura de objetos de tipos e tamanhos diferentes. Você cria uma lista com a função list().
my_list <- list(name="DataCamp", year=2024, scores=c(80, 90, 85), active=TRUE)
print(my_list)

O conteúdo de uma lista em R
Depois de criar a lista, você pode acessar seus elementos pelos índices ou pelo nome.
print(my_list[[3]])
print(my_list$name)
print(my_list$scores)
Acessando elementos de uma lista em R
Fatores em R
Diferentemente de vetores, matrizes ou listas, fatores não definem uma estrutura de armazenamento, mas sim descrevem como os dados devem ser tratados dentro dessas estruturas. Ou seja, fatores podem ser vistos como um tipo de dado, semelhante a inteiros ou caracteres.
Incluí fatores aqui porque eles são essenciais para lidar com dados categóricos no ecossistema do R, especialmente em análises estatísticas em que a distinção entre variáveis categóricas e contínuas é relevante. Isso difere do Python, que geralmente exige converter variáveis categóricas em numéricas por meio de dummies ou one-hot encoding.
Você cria fatores com a função factor(), como mostrado abaixo:
gender <- factor(c("male", "female", "female", "male"))
print(gender)
![]()
Fatores em R
Fatores também são armazenados como níveis (levels) e podem ser ordenados ou não.
levels(gender) <- c("Female", "Male")
print(gender)

Níveis de um fator em R
Se quiser ver a distribuição da variável fator, use a função summary(). A saída mostra que há duas ocorrências para Female e duas para Male, respectivamente.
summary(gender)
Resumo em R
Data frames em R
Data frames são a estrutura de dados mais popular e utilizada no R. Eles são práticos porque podem conter diferentes tipos de dados em colunas distintas. Você pode pensá-los como tabelas de banco de dados ou arquivos CSV, pois armazenam e organizam dados em um formato bidimensional, quadrado ou retangular.
Você cria um data frame com o comando data.frame().
data_frame <- data.frame( Names = c("Kiran", "Ajey", "Carol"), Age = c(25, 30, 35), Gender = c("Female", "Male", "Female"))
# Imprimindo o data frame
print(data_frame)
Um data frame em R
Você pode acessar o conteúdo de um data frame de várias formas, por colunas ou por linhas.
# Imprime todos os nomes - use o sinal $
print(data_frame$Names)
# Acessar a primeira linha
print(data_frame[1, ])
# Acessar a segunda coluna
print(data_frame[, 2])
Elementos de um data frame em R
Data frames são muito úteis no tratamento e na análise de dados porque suportam operações como filtragem e ordenação, além de facilitarem a impressão de estatísticas descritivas.
Filtrando um data frame em R
subset_female <- data_frame[data_frame$Gender == 'Female', ]
print(subset_female)
Um subconjunto de um data frame em R
Ordenando um data frame em R
# Ordenação
data_frame <- data_frame[order(data_frame$Age), ]
print(data_frame)
Um data frame ordenado em R
Resumindo um data frame em R
# Resumo estatístico
summary(data_frame)
Resumo descritivo/estatístico em R
Pelos resultados acima, dá para ver como é simples realizar operações com data frames em R. À medida que você avança na análise de dados, vai perceber que data frames são extremamente versáteis e poderosos para manipulação, análise e visualização. Se quiser explorar mais funcionalidades, confira nosso tutorial Data Frames in R.
Seguindo em frente com R
Este tutorial apresentou as principais estruturas de dados do R e como aplicá-las em situações reais de análise. Dominar essas estruturas vai turbinar suas habilidades analíticas, permitindo gerenciar e analisar dados com eficiência.
Ao continuar sua jornada, você vai descobrir que R é uma linguagem única, reconhecida por suas capacidades estatísticas robustas e bibliotecas extensas. Vale muito o investimento para quem é curioso sobre o universo da análise de dados.
Para mais tutoriais de R, consulte os links a seguir:
Se quiser se aprofundar, leia nosso conteúdo de R Programming Interview Questions & Answers, um ótimo recurso para quem está se preparando para entrevistas ou começando a aprender. O artigo traz uma variedade de perguntas e respostas que ajudam a identificar possíveis lacunas no seu conhecimento ao longo da jornada.
Profissional experiente em funções de ciência de dados, inteligência artificial, análise e estratégia, com mais de 18 anos de experiência nas áreas de -: Ciência de dados, ML e IA ~ Ciência de dados, machine learning supervisionado e não supervisionado, aprendizagem profunda, modelagem preditiva, processamento de linguagem natural (NLP), modelagem e análise estatística, otimização, estratégia de negócios e análise ~ desenvolvimento e avaliação de modelos de negócios, análise descritiva e diagnóstica, EDA, visualização, análise de causa raiz, análise de sensibilidade e cenário.

