[英]R - Aggregate Dates
匯總R數據框時,日期將轉換為整數:
例如,如果我想在以下數據框中獲取每個ID的最大日期:
> df1 <- data.frame(id = rep(c(1, 2), 2), b = as.Date(paste("01/01/", 2000:2003, sep=''), format = "%d/%m/%Y"))
> df1
id b
1 1 2000-01-01
2 2 2001-01-01
3 1 2002-01-01
4 2 2003-01-01
> aggregate(x = list(b = df1$b), by = list(id = df1$id), FUN = "max")
id b
1 1 11688
2 2 12053
為什么R這樣表現? (以及將日期類列保留在返回的數據框中的最佳方法是什么?)
謝謝你的幫助,
這對我來說適用於R版本3,也許更新中有一些更改,所以我建議您更新R :)至於此版本的R,您是否在匯總后嘗試過as.Date()函數? 在您的示例中,應類似於:
dtf2<-aggregate(x = list(b = df1$b), by = list(id = df1$id), FUN = "max")
dtf2$b<-as.Date(dtf$b)
您也可以在as.Date中添加“ origin”選項,例如
as.Date(dtf$b, origin='1970-01-01')
UPD:當R以整數形式查看日期時,其原點是1970年1月1日。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.