我的数据,
Id|date1|date2
1|2008-10-01|NA
1|NA|2008-10-02
1|NA|2008-10-03
2|2008-10-02|NA
2|NA|2008-10-03
我想以这种方式输出,
Id|date1|date2|date3
1|2008-10-01|2008-10-02|2008-10-03
2|2008-10-02|2008-10-03
我尝试使用聚合和 dcast,但它们将日期转换为数字格式,但仍然无法避免使用 na。
最佳答案
您可以使用 data.table
轻松完成此操作。虽然如果列之间的非缺失值的数量不相等,它会变得更加复杂
library(data.table)
setDT(df)[, lapply(.SD, na.omit), by = Id]
# Id date1 date2
# 1: 1 2008-10-02 2008-10-02
# 2: 2 2008-10-02 2008-10-02
关于r - 根据R中的id组合行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31123402/