【发布时间】:2023-03-16 14:17:02
【问题描述】:
我是自学成才的用户,所以请多多包涵。
我有类似以下数据集:
individual value
a 0.917741317
a 0.689673689
a 0.846208486
b 0.439198006
b 0.366260159
b 0.689985484
c 0.703381117
c 0.29467743
c 0.252435687
d 0.298108973
d 0.42951805
d 0.011187204
e 0.078516181
e 0.498118235
e 0.003877632
我想创建一个矩阵,其中 a 的值在 column1 中,b 的值在 column2 中,等等。[我还在每列的底部添加一个 1 以用于以后的代数运算]
到目前为止我已经尝试过:
for (i in unique(df$individual)) {
values <- subset(df$value, df$individual == i)
m <- cbind(c(values[1:3],1))
}
我得到一个 (4,1) 矩阵,其中包含最后一个单独的值。缺少什么来使其对每个循环进行累加并获得与个人一样多的列?
【问题讨论】:
-
reshape2是一个更好的解决方案,但这是一个愚蠢的方式matrix(DF$value, nrow = 3) -
这对我来说并不愚蠢。分配给 res.mtx 并使用
rbind( res.mtx, rep(1, ncol(res.mtx) ) )