我有一個數據幀,其中一列是矩陣,而不是一個向量,我想將其分割爲多個向量值列。在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