R:空日期中的日期操作结果
R: Date Operation Results in Empty Dates
我正在使用 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")
但这会导致“NA”:
> 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, format = '%Y-%m-%d %H:%M'), units = 'mins')
#Time differences in mins
#[1] -120 -120
我正在使用 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")
但这会导致“NA”:
> 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, format = '%Y-%m-%d %H:%M'), units = 'mins')
#Time differences in mins
#[1] -120 -120