问题描述
我的数据框中有一列类为 character
,但我想将其转换为 date/time
。日期格式如下,month-day-year hour:minute:second AM/PM
。我已经尝试过 as.date
和 as.POSIXct
之类的东西,但我认为我的年份有问题,因为年份不是 2020
,而是 20
,因此格式看起来像06-25-20 08:00:00AM
。这是一个示例数据框
# Create a,b,c,d variables
a <- c("06-25-20 08:00:00 AM","06-25-20 08:15:00 AM","06-25-20 08:30:00 AM","06-25-20 08:45:00 AM")
b <- c('book','pen','textbook','pencil_case')
c <- c(2.5,8,10,7)
# Join the variables to create a data frame
df <- data.frame(a,c)
使用下面的代码,整列变成N/A
df$a = as.Date(df$a,'%d-%m-%y %H:%M:%s')
Error in as.POSIXlt.character(x,tz,...) :
character string is not in a standard unambiguous format
In addition: There were 12 warnings (use warnings() to see them)
df$a = as.POSIXct(df$a,"%m-%d-%y %H:%M:%s")
解决方法
我需要确定格式,
df$a = as.POSIXlt(df$a,format="%m-%d-%y%H:%M:%S",tz = 'EST')