首页 > 解决方案 > 将字符向量旋转到具有指定列数的 data.frame

问题描述

我有一个数据向量,其中每 4 行开始一个新的观察。我需要旋转数据,以便前四个值成为第一行,接下来的四个值成为第二行,依此类推。

这是一个简化的例子......

给定以下数据:

a <- rep(c("a", "b", "c", "d"), 3)

所需的输出是:

  A_lab B_lab C_lab D_lab
1     a     b     c     d
2     a     b     c     d
3     a     b     c     d

标签: rdata-munging

解决方案


如果你想要一个矩阵,只需调用:

matrix(a, ncol=4, byrow=TRUE)

     [,1] [,2] [,3] [,4]
[1,] "a"  "b"  "c"  "d" 
[2,] "a"  "b"  "c"  "d" 
[3,] "a"  "b"  "c"  "d"

对于 data.frame,将结果通过管道传输到 data.frame:

data.frame(matrix(a, ncol=4, byrow=TRUE))

  X1 X2 X3 X4
1  a  b  c  d
2  a  b  c  d
3  a  b  c  d

推荐阅读