Day 1 Day 2
New_York 2228
Los_Angeles 2018
Chicago 2521技术支持
方法二:使用 tidyverse 在 R 中转置矩阵
tidyverse 是 R 中一套强大的工具集,使数据处理高效且一致。尽管 tidyverse 通常用于数据框,您可以先将矩阵转换为数据框,然后使用 tidyr 通过透视的方式实现“转置”。如果您已在使用 tidyverse 进行数据分析,这种方法尤其实用。
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)技术支持
# A tibble: 2 × 4
Day New_York Los_Angeles Chicago
<chr><dbl><dbl><dbl>1 Day 12220252 Day 2281821技术支持
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)技术支持
variable Day 1 Day 21: New_York 22282: Los_Angeles 20183: Chicago 2521技术支持
在 R 编程 环境中,转置矩阵是常见的数据处理任务。在本教程中,我将带您高效掌握如何在 R 中转置矩阵,并展示完成该任务的多种方法。让我们开始吧!
快速答案:如何在 R 中转置矩阵
如果您赶时间,转置矩阵最快的方法是使用
t()函数。t()是 R 基础函数,能立即对矩阵进行转置。下面是一个简单示例:什么是转置?
矩阵转置是交换其行和列的操作,将行数据变为列数据,反之亦然。此操作在数据处理时常用于重构数据集,使其更适合特定分析或可视化。例如,考虑一个包含不同城市每日气温的矩阵。对该数据框进行转置会将行(天)与列(城市)对调,从而可能简化如绘图或统计分析等后续操作。
Day
New York
Lost Angeles
Chicago
Day 1
22
25
18
Day 2
20
28
21
转置前的 3 个城市天气数据示例
City
Day 1
Day 2
New York
22
20
Los Angeles
25
28
Chicago
18
21
转置后的 3 个城市天气数据示例
在 R 中转置矩阵的三种方法
基于我们包含不同城市每日气温的矩阵,让我们来探索在 R 中使用多种方法对其进行转置。
方法一:使用 R 基础函数转置矩阵
在 R 中转置矩阵最直接的方法,就是使用前文演示的基础函数
t()。它高效、直接,无需额外包,是快速转置矩阵的首选方案。方法二:使用 tidyverse 在 R 中转置矩阵
tidyverse 是 R 中一套强大的工具集,使数据处理高效且一致。尽管 tidyverse 通常用于数据框,您可以先将矩阵转换为数据框,然后使用
tidyr通过透视的方式实现“转置”。如果您已在使用tidyverse进行数据分析,这种方法尤其实用。方法三:使用 data.table 在 R 中转置矩阵
与 tidyverse 方法类似,
data.table可用于数据框或数据表。以下展示了先将矩阵转换为数据表后再进行转置的方式:总结思考
在 R 编程 中,转置矩阵是一项基础技能。无论您使用 R 基础函数、tidyverse 中的 tidyr,还是 data.table 包,R 都提供了灵活的选项以满足您的数据需求。若想进一步学习,请查看我们的 R 中使用 tidyr 重塑数据速查表,或者直接开始 R 数据处理技能路径。