2013-11-21 72 views
0
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函数计算自访问以来的时间差(以天计)。

回答

1
mydata$visit <- pmin(mydata$visit_1,mydata$visit_2, na.rm = TRUE) 
1

你可以做到以下几点:

visit = visit_1 
visit[is.na(visit)] = visit_2[is.na(visit)]