【发布时间】:2018-03-29 15:14:42
【问题描述】:
这里是示例数据:
df <- data.frame(t(data.frame(seq(1,10,1)))); rownames(df) <- NULL;
colnames(df) <- letters[1:ncol(df)]
df
我想安排新的 data.frame 以使其始终具有 6 列,下一行(自 ncol>6 以来的夹板之后)将包含接下来的 6 个列名和下一行的值。如果 ncol
这是所需的输出:
a b c d e f
1 1 2 3 4 5 6
2 g h i j
3 7 8 9 10
另一个例子:
df <- data.frame(t(data.frame(seq(1,15,1)))); rownames(df) <- NULL;
colnames(df) <- letters[1:ncol(df)]
df
a b c d e f
1 1 2 3 4 5 6
2 g h i j k l
3 7 8 9 10 11 12
4 m n o
5 13 14 15
编辑:
接近它的方法可能是:
n <- 6
ncl <- nrow(df)
s <- split(df, rep(1:ceiling(ncl/n), each=n, length.out=ncl))
s
s1 <- split(rownames(df), rep(1:ceiling(ncl/n), each=n, length.out=ncl))
s1
合并s 和s1 的每一秒分割
s1[c(TRUE,FALSE)]
【问题讨论】:
标签: r