A transposição de matrizes é uma tarefa básica de manipulação de dados no ambiente de programação do R. Neste tutorial, orientarei você sobre como transpor matrizes de forma eficaz no R, apresentando vários métodos para realizar essa tarefa. Vamos começar!
A resposta rápida: Como transpor uma matriz no R
Se você estiver com pressa, esta é a maneira mais rápida de transpor uma matriz no R: use a função t(). A função t() faz parte da base do R e oferece uma maneira imediata de transpor uma matriz. Aqui está um exemplo simples:
A transposição de uma matriz envolve a inversão de suas linhas e colunas, transformando dados de linha em dados de coluna e vice-versa. Essa operação é comumente usada na manipulação de dados para reestruturar conjuntos de dados, tornando-os mais adequados para análises ou visualizações específicas. Por exemplo, considere uma matriz que contém as temperaturas diárias de diferentes cidades. A transposição desse quadro de dados trocaria as linhas (dias) pelas colunas (cidades), simplificando potencialmente outras operações, como plotagem ou análise estatística.
Dia
Nova York
Lost Angeles
Chicago
Dia 1
22
25
18
Dia 2
20
28
21
Um exemplo de conjunto de dados meteorológicos em 3 cidades antes da transposição
Cidade
Dia 1
Dia 2
Nova York
22
20
Los Angeles
25
28
Chicago
18
21
Um exemplo de conjunto de dados meteorológicos em 3 cidades após a transposição
Três métodos para transpor uma matriz em R
Considerando nossa matriz de temperaturas diárias para diferentes cidades, vamos explorar como transpor essa matriz usando vários métodos no R.
Método nº 1: Como transpor uma matriz em R usando o Base R
O método mais simples de transpor uma matriz no R é usar a função base do R t(), conforme demonstrado anteriormente. Ele é eficiente e direto e é uma opção para transpor matrizes rapidamente sem pacotes adicionais.
# Assume that temparature_matrix is already predefined
print(temperature_matrix)
New_York Los_Angeles Chicago
Day 1222025
Day 2281821Tecnologia
# Transpose temperature_matrix
transposed_matrix <- t(temperature_matrix)
print(transposed_matrix)
New_York Los_Angeles Chicago
Day 1222025
Day 2281821Tecnologia
Método nº 2: Transposição de uma matriz em R usando o tidyverse
O tidyverse é um conjunto robusto de ferramentas em R que torna o trabalho com dados eficiente e consistente. Embora o tidyverse seja geralmente usado com quadros de dados, você pode converter uma matriz em um quadro de dados e, em seguida, usar o site tidyr para "transpô-la" por meio de pivotamento. Isso é especialmente útil se você já estiver usando o tidyverse para analisar dados.
library(tidyr)
library(dplyr)
library(tibble)# Converting the matrix to a data frame for tidyverse manipulation
temperature_df <- as.data.frame(temperature_matrix)# "Transposing" the matrix by converting to long then wide format
transposed_df <- temperature_df %>%
rownames_to_column(var ="Day")%>%
pivot_longer(-Day, names_to ="City", values_to ="Temperature")%>%
pivot_wider(names_from = City, values_from = Temperature)
print(transposed_df)Tecnologia
# A tibble: 2 × 4
Day New_York Los_Angeles Chicago
<chr><dbl><dbl><dbl>1 Day 12220252 Day 2281821Tecnologia
Método nº 3: Transposição de uma matriz em R usando data.table
Semelhante à abordagem tidyverse, o site data.table pode trabalhar com quadros de dados ou tabelas de dados. Veja como você pode transpor uma matriz, primeiro convertendo-a em uma tabela de dados:
library(data.table)# Converting the matrix to a data.table
temperature_dt <- as.data.table(temperature_matrix, keep.rownames ="Day")# Transposing the matrix by melting and dcasting (similar to pivot_longer and pivot_wider)
transposed_dt <- melt(temperature_dt, id.vars ="Day")%>%
dcast(variable ~ Day, value.var ="value")
print(transposed_dt)Tecnologia
variable Day 1 Day 21: New_York 22282: Los_Angeles 20183: Chicago 2521Tecnologia
Adel é educador de ciência de dados, palestrante e evangelista da DataCamp, onde lançou vários cursos e treinamentos ao vivo sobre análise de dados, aprendizado de máquina e engenharia de dados. Ele é apaixonado pela disseminação das habilidades e da alfabetização de dados nas organizações e pela interseção entre tecnologia e sociedade. Ele tem um mestrado em ciência de dados e análise de negócios. Em seu tempo livre, você pode encontrá-lo passeando com seu gato Louis.
Aprenda sobre a decomposição QR, a técnica de fatoração de matriz que decompõe a matriz A no produto de uma matriz ortogonal Q e uma matriz triangular superior R. Pratique o processo de Gram-Schmidt na programação em R.
Aumente o nível de suas habilidades de programação em R! Aprenda a trabalhar com estruturas de dados comuns, otimizar o código e escrever suas próprias funções.
A transposição de matrizes é uma tarefa básica de manipulação de dados no ambiente de programação do R. Neste tutorial, orientarei você sobre como transpor matrizes de forma eficaz no R, apresentando vários métodos para realizar essa tarefa. Vamos começar!
A resposta rápida: Como transpor uma matriz no R
Se você estiver com pressa, esta é a maneira mais rápida de transpor uma matriz no R: use a função
t(). A funçãot()faz parte da base do R e oferece uma maneira imediata de transpor uma matriz. Aqui está um exemplo simples:O que é transposição?
A transposição de uma matriz envolve a inversão de suas linhas e colunas, transformando dados de linha em dados de coluna e vice-versa. Essa operação é comumente usada na manipulação de dados para reestruturar conjuntos de dados, tornando-os mais adequados para análises ou visualizações específicas. Por exemplo, considere uma matriz que contém as temperaturas diárias de diferentes cidades. A transposição desse quadro de dados trocaria as linhas (dias) pelas colunas (cidades), simplificando potencialmente outras operações, como plotagem ou análise estatística.
Dia
Nova York
Lost Angeles
Chicago
Dia 1
22
25
18
Dia 2
20
28
21
Um exemplo de conjunto de dados meteorológicos em 3 cidades antes da transposição
Cidade
Dia 1
Dia 2
Nova York
22
20
Los Angeles
25
28
Chicago
18
21
Um exemplo de conjunto de dados meteorológicos em 3 cidades após a transposição
Três métodos para transpor uma matriz em R
Considerando nossa matriz de temperaturas diárias para diferentes cidades, vamos explorar como transpor essa matriz usando vários métodos no R.
Método nº 1: Como transpor uma matriz em R usando o Base R
O método mais simples de transpor uma matriz no R é usar a função base do R
t(), conforme demonstrado anteriormente. Ele é eficiente e direto e é uma opção para transpor matrizes rapidamente sem pacotes adicionais.Método nº 2: Transposição de uma matriz em R usando o tidyverse
O tidyverse é um conjunto robusto de ferramentas em R que torna o trabalho com dados eficiente e consistente. Embora o tidyverse seja geralmente usado com quadros de dados, você pode converter uma matriz em um quadro de dados e, em seguida, usar o site
tidyrpara "transpô-la" por meio de pivotamento. Isso é especialmente útil se você já estiver usando otidyversepara analisar dados.Método nº 3: Transposição de uma matriz em R usando data.table
Semelhante à abordagem tidyverse, o site
data.tablepode trabalhar com quadros de dados ou tabelas de dados. Veja como você pode transpor uma matriz, primeiro convertendo-a em uma tabela de dados:Considerações finais
A transposição de matrizes é uma habilidade fundamental na programação em R. Quer você trabalhe com o R básico, com o tidyr dentro do tidyverse ou com o pacote data.table, o R oferece opções flexíveis para atender às suas necessidades de dados. Se você quiser saber mais, confira nossa Folha de dicas para remodelar dados com tidyr em R ou, melhor ainda, comece a usar a trilha de habilidades de manipulação de dados em R.