У меня есть набор данных, который отслеживает людей в течение ряда лет.Таким образом, у меня есть список дат, когда произошли события.Я скопировал образец данных (здесь только 2 даты, но в моих реальных данных есть больше столбцов).Я хочу выбрать максимальную дату и столбец, из которого эта дата пришла.Я сделал это с помощью другого программного обеспечения, но мне нужно сделать это в R, и я не уверен, что делать дальше.
Мне удалось получить максимальную дату для человека, однако мне не удалось получить столбец, из которого получены эти данные.
Я использовал это, чтобы получить максимальную дату
apply(testdata[], 1, max, na.rm=T)
Я пытался сделать следующее и варианты того, что не работает
colnames(testdata)[apply(testdata[], 1, which.max)]
Но выше ничего не вернулось.Я знаю, что это связано с тем, что даты относятся к классу S3 и что .max, похоже, не работает с этим классом.
Я нашел R: Как получить максимальное значение столбца datetime в данных временного ряда проблема в том, что это для отдельных данных, я пытался использовать
colnames(testdata)[apply(as.POSIXct(testdata[]),1,which.max]
но это приведет к ошибке.
Поэтому я не уверен, как получить имена столбцов.Есть идеи?
Конечный результат должен выглядеть следующим образом:
date1 date2 ID Maximumdate columnName
09/09/2016 09/09/2016 27 09/09/2016 date2
13/09/2016 28 13/09/2016 date1
14/09/2016 15/09/2016 29 15/09/2016 date2
16/09/2016 16/09/2016 30 16/09/2016 date2
29/09/2016 20/09/2016 31 29/09/2016 date1
06/10/2016 30/09/2016 32 06/10/2016 date1