假设我有一个融化的 data.frame 看起来像这样:

  variable       value
1         A -0.19933093
2         A -1.19043346
3         A -1.32248172
4         A -1.98644507
5         A -0.07930953
6         B -0.10074686
7         B  0.72451483
8         B -0.40914044
9         B  0.02913376
10        B  0.16062491

我如何得到它:
  A       B
-0.19933093 -0.10074686
-1.19043346  0.72451483
-1.32248172 -0.40914044
-1.98644507  0.02913376
-0.07930953  0.16062491

似乎微不足道,但我对答案感到茫然。 dcastacast似乎不这样做。我的目标是在更大的数据集上执行此操作,并将最终产品转换为 matrix,其中列名作为变量名。我尝试玩 daplylaply (在融化之前),但运气不佳。

最佳答案

尝试 unstack :

dat <- read.table(text = "variable       value
1         A -0.19933093
2         A -1.19043346
3         A -1.32248172
4         A -1.98644507
5         A -0.07930953
6         B -0.10074686
7         B  0.72451483
8         B -0.40914044
9         B  0.02913376
10        B  0.16062491",sep = "",header = TRUE)

> unstack(dat,value~variable)

            A           B
1 -0.19933093 -0.10074686
2 -1.19043346  0.72451483
3 -1.32248172 -0.40914044
4 -1.98644507  0.02913376
5 -0.07930953  0.16062491

但我应该补充一点,我很想知道如何使用 dcast 来做到这一点,因为我也反复尝试过,但一直无法做到。

10-07 13:44