我有一个名为PATIENTS的数据框,如下所示:
ID ARR_DATETIME
1 2013-01-01 03:00:00
2 2013-05-12 01:00:00
3 2013-06-23 14:00:00
我有一个名为CENSUS的rdataframe,它看起来像这样:
DATETIME COUNT
2013-01-01 01:00:00 4
2013-01-01 02:00:00 5
2013-01-01 03:00:00 9
...
2013-05-12 01:00:00 8
...
2013-06-23 14:00:00 6
我想要的是根据只有DATETIME与ARR_DATETIME匹配的条件语句,在我的PATIENTS数据框中添加另一列“COUNT”。
ID ARR_DATETIME COUNT
1 2013-01-01 03:00:00 9
2 2013-05-12 01:00:00 8
3 2013-06-23 14:00:00 6
我实现了一个嵌套的for循环,但由于我的数据大小,它几乎需要永远。
有什么建议吗?
答案 0 :(得分:0)
我相信您正在寻找使用合并功能。
CENSUS
DATETIME COUNT
1/1/2013 4:00 9
1/1/2013 5:00 8
1/1/2013 6:00 3
1/1/2013 7:00 7
PATIENTS
name ARR_DATETIME
Joe A. 1/1/2013 7:00
Pat J. 1/1/2013 5:00
Thomas L. 1/1/2013 6:00
# EDIT :: I DID NOT PUT QUOTATIONS AROUND THE by.x & by.y arguments.
# TRY THIS
merge(PATIENTS, CENSUS, by.x = 'ARR_DATETIME', by.y = 'DATETIME')
答案 1 :(得分:0)
合并(PATIENTS,CENSUS,by.x =“ARR_DATETIME”,by.y =“DATETIME”)
但你必须确保ARR_DATETIME& DATETIME采用字符格式,而不是Date对象。