根据不同的日期集,预测日期r

时间:2016-04-03 21:39:04

标签: r compare match prediction

我有两个数据集,第一个数据集(DF1)是一个治疗组,有ID,var1,var2,结果有四个变量。 一个人的身份证和结果是相同的。 但是var1和var2正在改变。请注意每个人有不同的行号。就像ID1有3行一样,ID2只有2行。

ID     var1              var2            result
 1      30                2013-11-23      2014-06-26
 1      30                2013-12-23      2014-06-26
 1      30                2014-1-23       2014-06-26
 2      60                2013-10-06      2014-05-10
 2      30                2014-01-6       2014-05-10

第二个数据集(DF2)与ID,var1,var2具有相同的变量。但它没有结果。

ID     var1              var2           
 a      30                2013-10-23      
 a      30                2013-11-23      
 a      30                2014-12-23       
 b      60                2013-10-06      
 b      30                2014-01-06       
 b      30                2014-02-03

我的问题是,我可以使用什么样的方法为DF2中的每个人提供基于var1,var2与DF1相比的结果?我认为DF1中的人可能不可能与DF2完全相同的var 1和var 2。

非常感谢您提前提供任何帮助!

1 个答案:

答案 0 :(得分:0)

您是否尝试匹配var1var2中的DF1DF2,然后根据匹配位置为DF2分配result?如果是这样,这将有效:

DF2$result <- NA
DF2[which((DF2$var1 %in% DF1$var1) & (DF2$var2 %in% DF1$var2)),'result'] <- DF1[which((DF1$var1 %in% DF2$var1) & (DF1$var2 %in% DF2$var2)),'result']

您需要确保var1var2result不是factor个变量,否则可能会产生错误的结果。如果您需要factor,请先将其转换为numericcharacter,然后在运行上述脚本后再转回factor