根据多列的匹配函数插入值。

时间:2018-04-24 19:16:18

标签: r

我有两个数据帧。一个(data.frame)由收集的数据组成,如下所示:

ID  spouse  DateTime    Activity
A031    0   2/9/14 17:21    92.25
A031    0   2/9/14 17:22    4
A031    0   2/9/14 17:23    0
A031    0   2/9/14 17:24    0.5

另一个(time.frame)由收集数据的空列和一个DateTime列组成,其中包含数据收集周期的整个持续时间(数月,分钟),这样但更长。

DateTime        ID  spouse Activity
2/9/14 17:21    NA  NA      NA
2/9/14 17:22    NA  NA      NA
2/9/14 17:23    NA  NA      NA
2/9/14 17:24    NA  NA      NA

如果data.frame的DateTime与time.frame的DateTime匹配,我想在data.frame中为ID,配偶和活动列添加值。我只能强制它并为每个变量写一行,如下所示:

time.frame$ID <- data.frame$ID[match(time.frame$DateTime, data.frame$DateTime)]
time.frame$spouse <- data.frame$spouse[match(time.frame$DateTime, data.frame$DateTime)]
time.frame$Activity <- data.frame$Activity[match(time.frame$DateTime, data.frame$DateTime)]

但我想知道是否有办法简化或将其应用于列名列表。我有许多其他data.frames我需要这样做,他们有超过3列。我已经尝试了很多lapply迭代但无法获得我想要的输出(主要是返回错误)。

0 个答案:

没有答案