R 使用不同的索引方法将列转换为datetime对象
我正在尝试将数据帧中的日期列转换为datetime对象R 使用不同的索引方法将列转换为datetime对象,r,datetime,R,Datetime,我正在尝试将数据帧中的日期列转换为datetime对象 dates <- c("11/28/2016 10:08 AM", "11/28/2016 10:08 AM", "11/28/2016 10:08 AM") dates <- as.data.frame(dates) # Using a $ to index the column works dates$dates <- as.POSIXlt(dates$dates, format="%m/%d/%Y %I:%M %p
dates <- c("11/28/2016 10:08 AM", "11/28/2016 10:08 AM", "11/28/2016 10:08 AM")
dates <- as.data.frame(dates)
# Using a $ to index the column works
dates$dates <- as.POSIXlt(dates$dates, format="%m/%d/%Y %I:%M %p")
dates
1 2016-11-28 10:08:00
2 2016-11-28 10:08:00
3 2016-11-28 10:08:00
# But this does not work
dates[,'dates'] <- as.POSIXlt(dates[,'dates'], format="%m/%d/%Y %I:%M %p")
Warning message:
In `[<-.data.frame`(`*tmp*`, , "dates", value = list(sec = c(0, :
provided 11 variables to replace 1 variables
dates@akrun是正确的as。POSIXlt
不是向量,不能简单地作为列添加到数据帧中。对于列表,[
用于选择单个元素,而[
返回所选元素的列表
dates[['dates']] <- as.POSIXlt(dates[['dates']], format="%m/%d/%Y %I:%M %p")
dates
1 2016-11-28 10:08:00
2 2016-11-28 10:08:00
3 2016-11-28 10:08:00
dates[['dates']]使用[[
即dates[['dates']]