【发布时间】:2020-11-18 12:33:11
【问题描述】:
我有一个数据集,其中包含按 ID 重复的行,每个都有一些 NA。我对每个 ID 的最新观察结果感兴趣。我怎样才能将它们结合起来以充分利用两行(最快和最新)?
df_in <-
data.frame(A = c(as.Date("2020-01-01"), as.Date("2020-01-02"), as.Date("2020-01-02")),
Name = c("Adam","Adam","Rob"),
B = c(1,2,3),
C = c(1,2,3),
D = c(NA,2,3))
df_out <-
data.frame(A = c(as.Date("2020-01-01"), as.Date("2020-01-03")),
Name = c("Adam","Rob"),
B = c(1,3),
C = c(1,3),
D = c(2,3))
如何让R根据时间列拉取最接近的值(根据变量名称合并重复的行)并删除最新的??
【问题讨论】:
-
您是在执行前向填充还是简单地删除
NAs? -
名称列是否引用数据中的 ID?为什么 Rob 的日期(A 列)变为 03?
-
@NelsonGon 前向填充,因为两列中经常会有 NA,这会让我失去两行。 @KarthikS 是的对不起,应该和Rob的情况无关。我只是想明确一点,我想通过按 ID(名称)分组来合并不同的日期(尽可能接近)来填充彼此的 NA
标签: r dplyr duplicates na