Я использую R, и у меня есть два набора данных, один из которых содержит контрольную дату (дата диагностики рака), а другой содержит даты сканирования. У некоторых пациентов было многократное сканирование до и после даты постановки диагноза. Мне нужно сделать первое сканирование после даты диагностики. Затем я планирую объединить наборы данных, чтобы мы могли проанализировать дополнительные данные (не описаны), которые находятся во фреймах данных.
Я использую lubridate, tidyverse и dplyr.
Структура первого набора данных «a1»:
patient_id diagnosis_date
1 2018-06-26
2 2014-10-15
3 2016-02-19
4 2018-06-30
Структура второго набора данных «a2»:
patient_id mri_date
1 2018-04-19
1 2018-07-12
1 2018-08-11
2 2014-11-01
3 2016-02-25
3 2018-10-07
Я хочу выбрать первое сканирование после даты диагностики mri_date>=diagnosis_date
для каждого пациента_ид. Например, mri_date 2018-07-12 для пациента 1.
Я попытался объединить наборы данных combined<-merge(a1,a2,by="patient_id",all.x=TRUE)
, а затем планировал отфильтровать и нарезать. Тем не менее, это удалило несколько значений mri_date для каждого пациента и просто заняло первое.
Я пытался найти ответ, но не могу найти его.
Я был бы очень благодарен за вашу помощь.