visit_1=as.Date(c("2013-03-22", "2013-05-25", "NA", "2013-02-19", "NA", "2013-04-22", "2013-06-22", "2013-03-28", "NA", "NA", "2012-12-28" ) )
visit_2=as.Date(c("2013-05-01", "NA", "2013-02-17", "NA", "2013-02-21", "NA", "NA", "NA", "2013-08-22", "2013-03-18", "NA" ) )
mydata=data.frame(visit_1, visit_2, today)
如何创建一个结合了visit_1和visit_2的新变量?我想要这样的东西;如果是两次访问,请访问较早的访问日期:
visit=as.Date(c("2013-03-22", "2013-05-25", "2013-02-17", "2013-02-19", "2013-02-21", "2013-04-22", "2013-06-22", "2013-03-28", "2013-08-22", "2013-03-18", "2012-12-28" ))
mydata=data.frame(visit_1, visit_2, visit)
我觉得有一个简单的解决方案,我没有得到,因为我正在使用日期。我希望能够在此新访问变量上使用difftime
函数来计算自访问以来的时间差异(以天为单位)。
答案 0 :(得分:1)
您可以执行以下操作:
visit = visit_1
visit[is.na(visit)] = visit_2[is.na(visit)]
答案 1 :(得分:1)
mydata$visit <- pmin(mydata$visit_1,mydata$visit_2, na.rm = TRUE)