📅  最后修改于: 2023-12-03 15:39:20.331000             🧑  作者: Mango
在 R 编程语言中,有时候需要将数据的行转换为列,这种操作被称为“数据透视”或“转置”。这在数据处理和可视化中非常有用。
转置是将数据中的行和列对调的操作。在 R 中,可以使用 t()
函数来轻松地实现转置。下面是一个示例:
# 创建一个矩阵
x <- matrix(1:6, nrow = 2)
x
# [,1] [,2] [,3]
# [1,] 1 3 5
# [2,] 2 4 6
# 转置
t(x)
# [,1] [,2]
# [1,] 1 2
# [2,] 3 4
# [3,] 5 6
在这个示例中,我们创建了一个 2 行 3 列的矩阵,并将其使用 t()
函数进行了转置。
数据透视是将行转换为列的更高级形式。在 R 中,可以使用 tidyr
包中的 pivot_longer()
函数来实现数据透视。下面是一个示例:
# 加载 tidyr 包
library(tidyr)
# 创建一个数据框
df <- data.frame(id = c("A", "B", "C"),
year1 = c(100, 200, 300),
year2 = c(150, 250, 350),
year3 = c(200, 300, 400))
df
# id year1 year2 year3
# 1 A 100 150 200
# 2 B 200 250 300
# 3 C 300 350 400
# 将 year1-year3 转化为“年份”列和“值”列
df_long <- pivot_longer(df, cols = c("year1", "year2", "year3"),
names_to = "year", values_to = "value")
df_long
# id year value
# 1 A year1 100
# 2 A year2 150
# 3 A year3 200
# 4 B year1 200
# 5 B year2 250
# 6 B year3 300
# 7 C year1 300
# 8 C year2 350
# 9 C year3 400
在这个示例中,我们使用 pivot_longer()
函数将数据框 df
中的 year1-year3 列转化为“年份”和“值”两列,并将转换后的数据框赋给 df_long
变量。
在 R 中,使用 t()
函数可以简单地将数据的行和列进行转置。如果需要进行更高级的行列转置操作,可以使用 tidyr
包中的 pivot_longer()
函数来进行数据透视。这些函数是 R 中数据处理和可视化工作中不可或缺的工具。