缺少值,在R中合并

时间:2017-12-12 14:23:57

标签: r list transform

我有2个列表(长度不同)。第一列 - 数量;第二列 - 日期,金额。我需要将这两个列表组合在一起,因此对于相应的日期,第一个的数量将替换为一秒的数量。 List1一个包含所有需要的日期,list2 - 没有。这就是为什么我需要list2的相应日期的金额等级以及日期是否缺失 - 列表1的。

在我看来,像date_join这样的日期键应该会有所帮助,但我不知道如何使用r代码。

e.g。

List 1:
Date - Amount 
1/09 - 0
2/09 - 0
3/09 - 0
4/09 - 0

List 2:
Date - Amount 
1/09 - 300
3/09 - 50

组合(我需要:):)

Date - Amount 
1/09 - 300
2/09 - 0
3/09 - 50
4/09 - 0

有人可以帮忙吗? 我试过inner_join(l1, l2),但结果是空的。 (可能因为我比较日期???)

1 个答案:

答案 0 :(得分:0)

假设df1和df2长度相同且唯一日期的对应关系(或其他一些唯一匹配行的方式)对数据帧进行排序,然后将df2列分配给df1:

df1[order(df1$date,)]
df2[order(df2$date,)]
df1$amount <- df2$amount

如果您不想覆盖df1 $ amount:

df1$new_amount = df2$amount

如果您无法按日期简单地订购数据框,那么请查看软件包dplyr或data.table以了解如何进行有效的连接:

dplyr

data.table