2013-11-21 4 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

Вы можете сделать следующее:

visit = visit_1 
visit[is.na(visit)] = visit_2[is.na(visit)] 
Смежные вопросы