r - 使用 R 将行转换为列,将列转换为行

标签 r rows transpose col

我有一个具有唯一行名称和唯一列名称的数据框。我想将行转换为列,将列转换为行。

例如,这段代码:

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/

相关文章:

r - 如何在 R 中传递字符串作为列名

r - 您如何使用 hist 绘制 R 中的相对频率?

r - 合并具有多个分隔符的列

r - 如何获取特定名称的行索引号?

excel - 防止用户在表中插入行,除非使用 VBA

C# - 数组转置位级别

R - 获取 RasterLayer 的特定波段

sql - 在 SQL Server 中动态地将多行合并为多列

python - 如何在 Pandas 数据框中切换列行

r - 将没有 "timevar"的数据帧从长格式转换为宽格式