У меня есть данные о пациентах, которые были повторно госпитализированы в течение 30 дней после предыдущего госпитализации в эту больницу. Многие пациенты будут реадмиссировать несколько раз, однако мы кодируем их как реадмиссию только в том случае, если это происходит в течение 30 дней после предварительного поступления.
Вот пример:
name stay at hospital admitdate readmission
john doe 1 1/1/2018 no
john doe 2 1/21/2018 yes
john doe 3 4/2/2018 no
john doe 4 10/2/2018 no
Я ищу подмножества строк, где readmission = yes, и строки с readmission = no с ближайшей датой допуска к той строке, где readmission = yes.
Для этого примера это означает, что я хотел бы подмножество только первых двух строк. Я хочу поднастроить строку два, потому что readmission = "yes", а затем я хочу поднастроить строку 1, потому что дата приема 01.01.2008 ближе к дате приема из строки readmission = "yes" (дата приема 1/21 / 2018).
df <- df
df1 <- df[df$Readmission == "no", ]
df2 <- aggregate(df1$Date, by = list(df$Name), FUN = "max")
df3 <- rbind(df[df$Readmission == "yes", ], df2)
Это не сработало, потому что оно вытягивает "максимальную" дату, когда реадмиссия = "нет" (пребывание 4), но я хочу, чтобы оно вытягивало пребывание 1.
Я хочу вывести, чтобы получить набор данных из этих двух строк:
name stay at hospital admitdate readmission
john doe 1 1/1/2018 no
john doe 2 1/21/2018 yes