У меня есть два набора данных:Поиск ближайшего времени соответствия для каждого пациента
Первый набор:
patient<-c("A","A","B","B","C","C","C","C")
arrival<-c("11:00","11:00","13:00","13:00","14:00","14:00","14:00","14:00")
lastRow<-c("","Yes","","Yes","","","","Yes")
data1<-data.frame(patient,arrival,lastRow)
Другой набор данных:
patient<-c("A","A","A","A","B","B","B","C","C","C")
availableSlot<-c("11:15","11:35","11:45","11:55","12:55","13:55","14:00","14:00","14:10","17:00")
data2<-data.frame(patient, availableSlot)
Я хочу создать добавить столбец к первому набору данных, который для каждой последней строки каждого пациента показывает доступный слот, который равен , ближайшему к времени прибытия:
Результаты будут:
patient arrival lastRow availableSlot
A 11:00
A 11:00 Yes 11:15
B 13:00
B 13:00 Yes 12:55
C 14:00
C 14:00
C 14:00
C 14:00 Yes 14:00
бы признателен, если кто-нибудь может сказать мне, как я могу осуществить это в R.
вам, вероятно, нужно преобразовать столбцы с часами до даты класса первых – Cath
так этого? 'merge (data1, data2 [!duplicated (data2 $ patient),], by = 'patient') ', если ваш' data2' упорядочен по 'прибытию' – Sotos
@Sotos Нет, это просто повезло. OP сказал «ближайший», который совпадает с первым здесь. – Frank