【发布时间】:2018-01-23 13:32:48
【问题描述】:
假设我有一个不完整的data.frame 长格式:
mydata <- data.frame(year = rep(c(2000,2001,2002,2004),
2),
team = factor(c("A","A","A","A",
"B","B","B","B")),
score = c(8,1,3,1,2,3,7,2))
如您所见,year 2003 的观察结果缺失:
mydata
year team score
1 2000 A 8
2 2001 A 1
3 2002 A 3
4 2004 A 1
5 2000 B 2
6 2001 B 3
7 2002 B 7
8 2004 B 2
有没有一种优雅的方式来添加缺失的行(在正确的位置)?
我希望 team 变量填充所有可能的级别,score 填充 NA...
如果有的话,我更喜欢干净的dplyr 解决方案 (-;
最后mydata应该是这样的:
year team score
1 2000 A 8
2 2001 A 1
3 2002 A 3
4 2003 A NA
5 2004 A 1
6 2000 B 2
7 2001 B 3
8 2002 B 7
9 2003 B NA
10 2004 B 2
This expand.grid solution 几乎解决了这个问题,但我不知道如何将它应用于长格式的data.frame。
【问题讨论】: