在R中如何将因子转换为日期时间?
这个问题对你们中的一些人来说可能很简单,但请容忍我,因为我是R的初学者 我有一个dataframe,它有一个factor列(称为time),包含日期时间数据,如下所示:在R中如何将因子转换为日期时间?,r,datetime,R,Datetime,这个问题对你们中的一些人来说可能很简单,但请容忍我,因为我是R的初学者 我有一个dataframe,它有一个factor列(称为time),包含日期时间数据,如下所示: time 01/01/2011 00:10 02/01/2011 03:00 03/01/2011 05:00 04/01/2011 10:03 我想在R中将此列转换为DateTime列。我搜索并尝试了一些函数,但它给出了“NA”结果。以下是我尝试过的功能: > dataframe1$datetime <- as.
time
01/01/2011 00:10
02/01/2011 03:00
03/01/2011 05:00
04/01/2011 10:03
我想在R中将此列转换为DateTime列。我搜索并尝试了一些函数,但它给出了“NA”结果。以下是我尝试过的功能:
> dataframe1$datetime <- as.POSIXlt(as.character(dataframe1$time), format="%d/%m/%Y %H:%M")
> dataframe1$datetime <- as.POSIXlt(strptime(dataframe1$time), format="%d/%m/%Y %H:%M")
> dataframe1$datetime <- as.POSIXlt(dataframe1$time, format="%d/%m/%Y %H:%M")
> dataframe1$datetime <- as.chron(dataframe1$time, "%d/%m/%Y %H:%M")
>dataframe1$datetime dataframe1$datetime dataframe1$datetime dataframe1$datetime试试:
dataframe1$datetime最简单的方法可能是使用lubridate
软件包,该软件包有大量用于日期操作的函数。以下内容将您的时间转换为POSIXct对象:
library(lubridate)
mdy_hm( as.character(dataframe1$time) )
请参见?mdy
,了解各种日期解析函数
对于不依赖lubridate的稍微详细的版本
strptime(x = as.character( dataframe1$datetime ), format = "%d/%m/%Y %H:%M")
我可以延长日期,但不能延长时间。我使用了dataframe1$datetime据我所知,没有一类日期/时间只适用于H-M-S;你的选择是Y-M-D或Y-M-D-H-M-S-etc-等等。不过,如果你找到了,我很想知道!我找到了一个解决方案dataframe1$time
strptime(x = as.character( dataframe1$datetime ), format = "%d/%m/%Y %H:%M")