R 解压列(简单,但我正在努力!)
我有一个3列的数据框,但这可能更多地取决于我带到数据框中的文件数量,因此我创建了最后一列,第4列带有数字代码,以告诉我要将数据放在何处。每列包含4组数据,因此我对它们进行了编码 我想根据排序列取消这三列的堆叠,这样我现在有12列3列x 4组 我知道这可能很简单,但我就是搞不懂 提前谢谢 这可以通过以下方式完成:R 解压列(简单,但我正在努力!),r,R,我有一个3列的数据框,但这可能更多地取决于我带到数据框中的文件数量,因此我创建了最后一列,第4列带有数字代码,以告诉我要将数据放在何处。每列包含4组数据,因此我对它们进行了编码 我想根据排序列取消这三列的堆叠,这样我现在有12列3列x 4组 我知道这可能很简单,但我就是搞不懂 提前谢谢 这可以通过以下方式完成: 看起来您在数据框中有一些列表。如果您可以在此基础上展示一些示例和预期结果,那么它将是easierdf=do.callcbind,splitdf[,-ncoldf],df$nameofco
看起来您在数据框中有一些列表。如果您可以在此基础上展示一些示例和预期结果,那么它将是easierdf=do.callcbind,splitdf[,-ncoldf],df$nameofcolumn4,这样做可以奏效。
df <- cbind(matrix(1:24,8,dimnames=list(NULL,c(letters[1:3]))),code=rep(1:4,each=2));
df;
## a b c code
## [1,] 1 9 17 1
## [2,] 2 10 18 1
## [3,] 3 11 19 2
## [4,] 4 12 20 2
## [5,] 5 13 21 3
## [6,] 6 14 22 3
## [7,] 7 15 23 4
## [8,] 8 16 24 4
reshape(transform(df,id=ave(code,code,FUN=seq_along)),dir='w',timevar='code')[-1];
## a.1 b.1 c.1 a.2 b.2 c.2 a.3 b.3 c.3 a.4 b.4 c.4
## 1 1 9 17 3 11 19 5 13 21 7 15 23
## 2 2 10 18 4 12 20 6 14 22 8 16 24