我有一个数据框,它是另一个命令的结果。这个数据框只有一行,大约有 40000 个条目。我的问题是 3 列是一组连接的数据。因此,我想在每第三列之后拆分该行并将其作为新行传输。例子:
创建一个测试数据框:
df=as.data.frame(matrix(seq(1:12), ncol=12, nrow=1))
现在我有一个看起来像这样的数据框。
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
1 2 3 4 5 6 7 8 9 10 11 12
但我需要这样:
V1 V2 V3
1 2 3
4 5 6
7 8 9
10 11 12
我怎么能意识到这一点?
最佳答案
尝试
as.data.frame(matrix(unlist(df, use.names=FALSE),ncol=3, byrow=TRUE))
# V1 V2 V3
#1 1 2 3
#2 4 5 6
#3 7 8 9
#4 10 11 12
或者你可以直接使用
matrix
在 df
as.data.frame(matrix(df, ncol=3, byrow=TRUE))
关于r - 在每 3 列之后拆分一行并将这 3 列作为 r 中的新行传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973029/