簡體   English   中英

R-總日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM