我有一个具有唯一行名称和唯一列名称的数据框。我想将行转换为列,将列转换为行。
例如,这段代码:
starting_df <- data.frame(row.names= c(LETTERS[1:4]),
a = c(1:4),
b = seq(0.02,0.08,by=0.02),
c = c("Aaaa","Bbbb","Cccc","Dddd")
)
结果如下:
> starting_df
a b c
A 1 0.02 Aaaa
B 2 0.04 Bbbb
C 3 0.06 Cccc
D 4 0.08 Dddd
我想将其转换为另一个包含完全相同数据的数据框,除了以前的行现在是列,反之亦然:
> final_df
A B C D
a 1 2 3 4
b 0.02 0.04 0.06 0.08
c Aaaa Bbbb Cccc Dddd
最佳答案
只需使用基本的转置函数t
,用as.data.frame
包装:
final_df <- as.data.frame(t(starting_df))
final_df
A B C D
a 1 2 3 4
b 0.02 0.04 0.06 0.08
c Aaaa Bbbb Cccc Dddd
以上已更新。正如 docendo discimus 指出的那样,t
返回一个矩阵。正如 Mark 建议的那样,用 as.data.frame
包装它会返回一个数据帧而不是一个矩阵。谢谢!
关于r - 使用 R 将行转换为列,将列转换为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680994/