在数据帧(df_pageviews
)中,我尝试将以下列转换为日期时间格式:
created_at
2018-03-23 00:51:01
2018-03-23 02:08:37
这是我使用的代码(基于this):
as.Date(df_pageviews$created_at, format = c("%Y-%m-%d", "%H:%m:%s"))
但是,此代码返回以下值:"2018-03-23" NA, "2018-03-23" NA
我认为格式字符串是正确的,但是我无法弄清楚为什么它不起作用。有什么想法吗?
答案 0 :(得分:1)
# replicate the data frame
df_pageviews <- data.frame(
created_at = c("2018-03-23 00:51:01", "2018-03-23 02:08:37")
)
# convert charachter to POSIXct
df_pageviews$created_at <- strptime(df_pageviews$created_at, "%Y-%m-%d %H:%M:%S")
# check the structure
str(df_pageviews)
# 'data.frame': 2 obs. of 1 variable:
# $ created_at: POSIXlt, format: "2018-03-23 00:51:01" "2018-03-23 02:08:37"
答案 1 :(得分:1)
考虑使用strptime代替as.Date()。
此外,请小心区分%m(月)和%M(分钟)。您还可以指定时区https://www.stat.berkeley.edu/~s133/dates.html
例如:
strptime("2018-03-23 00:51:01",format="%Y-%m-%d %H:%M:%S")
[1] "2018-03-23 00:51:01 PDT"