这个问题对你们中的一些人来说可能很简单,但请耐心等待,因为我是R.的初学者
我有一个数据帧,它有一个包含DateTime数据的因子列(称为时间),如下所示:
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 <- strptime(x = as.character(dataframe1$datetime),
format = "%d/%m/%Y %H:%M")
可能最简单的方法是使用lubridate
包,该包具有大量用于日期操作的函数。以下将把您的时间转换为POSIXct对象:
library(lubridate)
mdy_hm( as.character(dataframe1$time) )
请参阅?mdy
以查看各种日期解析功能。
对于不依赖lubridate的稍微更详细的版本
strptime(x = as.character( dataframe1$datetime ), format = "%d/%m/%Y %H:%M")