簡體   English   中英

R中日期之間的時間段

[英]Time period between dates in R

我有一個帶有ID列和Date列的數據框。

在此處輸入圖片說明

本質上,我想創建第三列(Diff),用於計算日期之間的差異,最好按ID分組。

我從以下代碼構建了一個大型POSIXlt

c_time <- as.POSIXlt(df$Gf_Date)
a <- difftime(c_time[1:(length(c_time)-1)], c_time[2:length(c_time)], units = weeks")

但是當我嘗試cbind到我的data.frame時,它出錯

“參數暗示行數不同”

因為a比原始data.frame短一行。

任何幫助將不勝感激。

由於差異只能在兩個后續日期之間獲取,因此對於第一個條目未定義。 因此,合理的選擇是將第一個值設置為NA

這可能起作用:

c_time <- as.POSIXlt(df$Gf_Date)
a <- c(NA,`units<-`(diff(c_time),"weeks"))
cbind(df,diff.dates=a)

(帽尖到@thelatemail為一種有價值的建議,以簡化的定義a )。

PS:請注意,在差異a可能比你原來的做法不同的符號。 根據您喜歡的約定,可以使用a <- -a在兩者之間進行轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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