R 从日期和小时格式更改为数字格式
我在R工作,我需要从一列更改格式R 从日期和小时格式更改为数字格式,r,date,time,R,Date,Time,我在R工作,我需要从一列更改格式 9/27/2011 3:33:00 PM 转换为值格式。在Excel中,我可以使用函数value(),但我不知道如何在R中使用它 我的数据如下所示: 9/27/2011 15:33 a 1 5 9 9/27/2011 15:33 v 2 6 2 9/27/2011 15:34 c 3 7 1 要将字符串转换为R日期格式,请使用as.POSIXct-然后可以使用as.numeric将其强制转换为数值: > x &l
9/27/2011 3:33:00 PM
转换为值格式。在Excel中,我可以使用函数value()
,但我不知道如何在R中使用它
我的数据如下所示:
9/27/2011 15:33 a 1 5 9
9/27/2011 15:33 v 2 6 2
9/27/2011 15:34 c 3 7 1
要将字符串转换为R日期格式,请使用
as.POSIXct
-然后可以使用as.numeric
将其强制转换为数值:
> x <- as.POSIXct("9/27/2011 3:33:00 PM", format="%m/%d/%Y %H:%M:%S %p")
> x
[1] "2011-09-27 03:33:00 BST"
> as.numeric(x)
[1] 1317090780
>x
[1] “2011-09-27 03:33:00英国夏令时”
>as.数字(x)
[1] 1317090780
获取的值表示自任意日期(通常为1970年1月1日)起的秒数。请注意,这与Excel不同,Excel将日期存储为自任意日期(1900年1月1日,如果我记性好的话-我尝试不再使用Excel)起的天数
有关更多信息,请参见
?DateTimeClasses
这对我很有用:
> test=as.POSIXlt("09/13/2006", format="%m/%d/%Y")
> test
[1] "2006-09-13"
> 1900+test$year
[1] 2006
> test$yday
[1] 255
> test$yday/365
[1] 0.6986301
> 1900+test$year+test$yday/366
[1] 2006.697
如果您需要Excel中的日数,可以使用类似的方法。要获得完整的答案,请向我们提供
dput(yourData)
的输出,以便我们可以准确地重新创建数据对象。给出的答案将因列类型而异,因为它当前可能是一个因子或字符。如果它实际上已经是一个日期或POSIX列,我认为像as.numeric()
这样的东西应该可以工作。例如:>as.numeric(Sys.time())[1]1321895128