Jaz*_*ine 3 datetime r date posixct
我正在尝试减去R中的两个日期。这是通过structure命令的两个日期:
str(standard_data_4testing$start_datetime)
POSIXct[1:489124], format: "2016-02-01 00:38:49" "2016-02-01 07:48:53" "2016-02-01 08:32:08" "2016-02-01 11:21:13" ...
str(standard_data_4testing$original_installdate)
Date[1:489124], format: "2015-10-15" "2015-10-15" "2015-10-15" "2016-01-29" "2016-01-29" "2016-01-29" ...
Run Code Online (Sandbox Code Playgroud)
我用as.DateR中的函数创建了这两个函数,但是start_datetime具有日期和时间,并且original_installdate在原始数据中仅具有日期,如上所述。
有没有办法减去它们?
我试图用以下语句减去:
standard_data_4testing$start_datetime - standard_data_4testing$original_installdate
Run Code Online (Sandbox Code Playgroud)
但是我得到这个错误:
警告消息:“-”的方法不兼容(“ -.POSIXt”,“-。Date”)
在它打印出一些数据之后:
[6049]“ 2016-02-01 09:48:44 UTC”“ 2016-02-01 07:24:08 UTC”“ 2016-02-01 09:02:33 UTC”“ 2016-02-01 09: 14:29 UTC“ [6053]” 2016-02-01 10:49:46 UTC“” 2016-02-01 19:07:52 UTC“” 2016-02-01 02:39:04 UTC“” 2016- 02-01 03:59:29 UTC“ [6057]” 2016-02-01 07:13:05 UTC“” 2016-02-01 07:58:50 UTC“不适用
我也尝试过使用POSIXct,但收到类似的错误。
尽管它们的组成有所不同,有什么办法可以减去两个日期?
谢谢你的帮助
首先将两个日期都转换为POSIXct该类。确保在同一时区中进行计算,POSIXt类默认为您的语言环境时区,as.Date默认为UTC。
test1 <- as.Date("2016-01-01", tz="UTC")
test2 <- strptime("2016-01-02", format="%Y-%m-%d", tz="UTC")
difftime(as.POSIXct(test2), as.POSIXct(test1, tz="UTC"), units="days")
# Time difference of 1 days
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13375 次 |
| 最近记录: |