如何解决R:日期操作导致空日期
我使用的是 R 编程语言。我正在尝试计算两个日期列之间的差异。两个日期的格式如下:2010-01-01 12:01
当我将文件导入 R 时,日期采用“因子”格式。这是我在 R 中重新创建文件的尝试:
#how my file looks like when I import it into R
date_1 = c("2010-01-01 13:01 ","2010-01-01 14:01" )
date_2 = c("2010-01-01 15:01 ","2010-01-01 16:01" )
file = data.frame(date_1,date_2)
file$date_1 = as.factor(file$date_1)
file$date_2 = as.factor(file$date_2)
现在,我正在尝试创建一个新列,该列采用这些日期之间的差异(以分钟为单位)
我首先尝试将两个日期变量转换为适当的“日期”格式:
#convert to date formats:
file$date_a = as.POSIXlt(file$date_1,format="%Y-%m-%dT%H:%M")
file$date_b = as.POSIXlt(file$date_2,format="%Y-%m-%dT%H:%M")
然后,我试图找出差异:
file$diff = difftime(file$date_a,file$date_b,units="mins")
但这会导致“不适用”:
> file
date_1 date_2 date_a date_b diff
1 2010-01-01 13:01 2010-01-01 13:01 <NA> <NA> NA mins
2 2010-01-01 13:01 2010-01-01 13:01 <NA> <NA> NA mins
有人可以告诉我我做错了什么吗?
谢谢
参考:How to get difference (in minutes) between two date strings?
解决方法
字符串中没有 T
。所以,我们需要格式为
difftime(as.POSIXct(file$date_1,format = '%Y-%m-%d %H:%M'),as.POSIXct(file$date_2,units = 'mins')
#Time differences in mins
#[1] -120 -120
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。