【发布时间】:2015-01-21 12:53:53
【问题描述】:
df1 <- data.frame(
name = c("a", "b", "b", "c"),
score = c(1, 1, 2, 1)
)
如何从 df$name 和每个“对应”df$score 获取包含变量/列的新数据框。我认为这实际上是一个两步问题:
首先,我需要列出(在本例中)不等长向量,如下所示:
$a
[1] 1
$b
[1] 1 2
$c
[1] 1
其次,需要对 NA 进行填充,以便在制作所需的数据帧之前获得等长的向量 就像:
a b c
1 1 1 1
2 NA 2 NA
我找不到任何简单的方法来做到这一点 - 我相信一定有! 如果可以使用 dplyr 交付解决方案,那就太棒了!谢谢!
【问题讨论】:
-
这似乎是一个相当直接的从长到宽的重塑。在 SO 上查看有关此主题的大量帖子。搜索例如
reshape2和dcast;tidyr和spread.
标签: r list data-structures dataframe dplyr