在R中如何将因子转换为日期时间?

在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.

这个问题对你们中的一些人来说可能很简单,但请容忍我,因为我是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.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")