После объединения 4 фреймов данных с минимальными и максимальными датами для каждой подгруппы (a, b, c, d и т. Д.) Итоговый фрейм данных имеет следующие столбцы:
Id a_min_date_df1 a_max_date_df1 a_min_date_df2 a_max_date_df2 a_min_date_df3 a_max_date_df3 a_min_date_df4 a_max_date_df4
1 2014-01-01 2014-01-10 NA NA NA NA 2014-02-20 2014-05-01
2 2014-02-01 2014-02-10 NA NA 2015-02-20 2015-03-01 NA NA
Для некоторого идентификатораУ меня есть только минимальные и максимальные даты, доступные из 1 из 2 фреймов данных вместо всех 4 фреймов данных.
Я хочу добавить:
новый столбец с минимальной датой столбцов минимальной даты для каждой подгруппы (a, b, c, d и т. Д.)..)
новый столбец с максимальной датой столбцов max-date для каждой подгруппы (a, b, c, d и т. Д.)
- столбец, который вычисляет разницу между новой максимальной и минимальной датой, и, если разница превышает 365 дней, я хочу настроить новую минимальную и максимальную дату и заменить их первоначальными датами: a_min_date_df1 и a_max_date_df1
Я попробовал это, и это работает, но у df есть более 500 подгрупп, которые я не мог сделать вручную для каждой.
mutate(df, a_min= pmin(a_min_date1_df1, a_min_date1_df2, a_min_date1_df3, a_min_date1_df4, na.rm=TRUE),
a_max= pmax(a_max_date1_df1, a_max_date1_df2, a_max_date1_df3, a_max_date1_df4, na.rm=TRUE)
Я начал заменять имена столбцов на mutate (df, a_min = pmin (setdiff (sets_with ("a_"), заканчивается_with (min_date), na.rm = TRUE), a_max = pmax (setdiff (start_with ("a_"), заканчивается_with (min_date), na.rm = TRUE)) Это не сработало для меня. Все предложения welecom.