【发布时间】:2018-08-04 16:09:21
【问题描述】:
我有两个数据框:
df <- data.frame(Group = c("A","B","C","D","E","F"),
Date = c("2018-04-12 08:56:00","2018-04-13 11:03:00","2018-04-14 14:30:00","2018-04-15 03:10:00","2018-04-16 07:28:00","2018-04-17 11:17:00"))
df2 <- data.frame(Group = c("A","A","B","B","C","C","C","D","D","E","E","F","F"),
Date = c("2018-04-12 08:56:00","2018-04-12 10:42:00","2018-04-13 10:03:00","2018-04-13 11:21:00","2018-04-14 08:17:00","2018-04-14 10:32:00","2018-04-14 22:44:00","2018-04-15 03:10:00","2018-04-15 11:17:00","2018-04-16 16:56:00","2018-04-16 20:01:00","2018-04-17 11:15:00","2018-04-17 11:20:00"))
我想做两件事。首先,按组,我想将 df 中的 Date 列与 df2 中的列进行比较,并提取完全匹配的 datesDate ,或者如果没有完全匹配,则从 df2 中提取最接近和之前的 Date df 中的日期。
其次,按组,我想将 df 中的 Date 列与 df2 中的列进行比较,如果完全匹配,则提取 Date,如果没有完全匹配,则从 df2 中提取最近的 Date,不管它是否在 df 中的日期之前。
所以这个例子的结果应该像下面这样:
result <- data.frame(Group = c("A","B","C","D","E","F"),
Date = c("2018-04-12 08:56:00","2018-04-13 11:03:00","2018-04-14 14:30:00","2018-04-15 03:10:00","2018-04-16 07:28:00","2018-04-17 11:17:00"),
Return1 = c("2018-04-12 08:56:00","2018-04-13 10:03:00","2018-04-14 10:32:00","2018-04-15 03:10:00",NA,"2018-04-17 11:15:00"),
Return2 = c("2018-04-12 08:56:00","2018-04-13 11:21:00","2018-04-14 10:32:00","2018-04-15 03:10:00","2018-04-16 16:56:00","2018-04-17 11:15:00"))
【问题讨论】:
-
重新创建结果的代码不起作用(组的元素比其他列多)。另外,您尝试过什么来解决您的问题?
-
啊。谢谢你的提醒。我刚刚更新了结果