所以我有上面的数据框,我试图获得一个包含所有唯一da_rec及其适当值的数据框。我尝试过使用unique()
和!duplicated
。
我想要的是:
我还能做什么?
可重复的代码:
test = data.frame(da_rec = c("2016-04-01", "2016-04-01", "2016-04-04", "2016-04-05", "2016-04-06", "2016-04-07", "2016-04-08",
"2016-04-08", "2016-04-11", "2016-04-11", "2016-04-12", "2016-04-12", "2016-04-13", "2016-04-14",
"2016-04-15", "2016-04-15", "2016-04-18", "2016-04-19", "2016-04-19", "2016-04-20", "2016-04-20",
"2016-04-21", "2016-04-21", "2016-04-22", "2016-04-25", "2016-04-26", "2016-04-26", "2016-04-27",
"2016-04-27", "2016-04-28", "2016-04-28", "2016-04-29", "2016-04-29"), values = c(NA, 1, NA, NA, NA, NA, NA,
1, NA, 1, NA, 2, NA, NA, NA, 1, NA, NA, 3, NA, 1, NA, 1, NA, NA, NA, 2, NA, 1, NA, 2, NA, 3))
答案 0 :(得分:0)
这是因为您不想要唯一值,您希望在存在现有值时删除NAs。
您可以这样做的方法是一方面获取所有唯一的日期值,另一方面获取没有NA的数据子集,并将它们合并在一起。 R将使用NA完成缺失值。
merge(data.frame(da_rec = unique(test$da_rec)),
subset(test,!is.na(values)),
all.x=TRUE)