我有一个数据帧,其中一列是矩阵,而不是一个向量,我想将其分割为多个向量值列。在R中,将数据帧中的向量值列拆分为多列
例如,这
set.seed(101)
Df <- data.frame(x = runif(100),
y = round(runif(100)))
descriptives <- function(arg) c(mean(arg), median(arg), sd(arg))
results <- aggregate(x ~ y, data=Df, descriptives)
给我
> results
y x.1 x.2 x.3
1 0 0.4710224 0.4280053 0.3206661
2 1 0.5769064 0.6220120 0.2683387
这是2×2数据帧与所述第二列是一个2×3矩阵:
> dim(results)
[1] 2 2
> results[,2]
[,1] [,2] [,3]
[1,] 0.4710224 0.4280053 0.3206661
[2,] 0.5769064 0.6220120 0.2683387
我想将该矩阵分成三列向量。
我能做
results <- cbind(results$y, as.data.frame(results[,2]))
names(results) <- c('y', 'mean', 'median', 'sd')
> results
y mean median sd
1 0 0.4710224 0.4280053 0.3206661
2 1 0.5769064 0.6220120 0.2683387
但是否有更直接,少哈克的方式?我在想像tidyr
的separate
?
也许像'as.data.frame(矩阵(不公开(结果),nrow = nrow(结果)))'? – Sotos