我有一个包含36列和单个观察的数据集。我想将它拆分成一个列表,每个数据帧有3列,然后将它们rbind到一个数据帧。 我一直在使用以下代码:
m=12
nc<-ncol(df)
df1<-lapply(split(as.list(df), cut(1:nc, m, labels = FALSE)), as.data.frame)
df1<-do.call("rbind",df1)
此代码正常运行。但是当我尝试在闪亮的应用程序中运行此代码时,问题出现了。
有人可以建议替换上面的代码
答案 0 :(得分:0)
我们可以通过生成特定序列来split
一行数据帧
do.call("rbind", split(c(t(df)), rep(seq(1, ncol(df)/3), each = 3)))
,其中
rep(seq(1, ncol(df)/3), each = 3)
会生成
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8
9 9 9 10 10 10 11 11 11 12 12 12