r - 在 R 中解析日期时间的“m/%d/%Y %H:%M”形式
问题描述
给定如下数据框:
df <- structure(list(time = structure(1:10, .Label = c("1/1/2001 0:00",
"1/1/2001 1:00", "1/1/2001 2:00", "1/1/2001 3:00", "1/1/2001 4:00",
"1/1/2001 5:00", "1/1/2001 6:00", "1/1/2001 7:00", "1/1/2001 8:00",
"1/1/2001 9:00"), class = "factor"), values = c(19.94, 19.94,
12.92, 15.08, 12.02, 12.02, 12.02, 12.92, 12.92, 8.96)), class = "data.frame", row.names = c(NA,
-10L))
对于time
列,它表示:m/%d/%Y %H:%M
,但是当我用以下代码解析它们时,两个代码都返回time
到NA
.
df$time <- strptime(df$time, format="m/%d/%Y %H:%M")
df$time <- as.Date(df$time, format="%m/%d/%Y %H:%M")
df$time
出去:
[1] NA NA NA NA NA NA NA NA NA NA NA
最后,我需要将time
列拆分为year
、month
、day
和.hour
minutes
有人可以帮忙吗?谢谢。
解决方案
您只是%
在格式字符串的开头忘记了 a ,这应该可以:
strptime(df$time, format="%m/%d/%Y %H:%M")
推荐阅读
- c++ - C++ 类实例未初始化但没有编译错误,为什么
- spring - 当从不使用附加程序时,我希望不创建 Logback 文件。[滚动文件附加器]
- cassandra - Cassandra 时间点恢复
- python - Venv 在 CentOS 中失败,确保 pip 丢失
- c++ - 我可以检测哪些类型在用作基类时可能与其派生类重叠
- android - 如何以编程方式在 Android 中设置 DNS1 和 DNS2 以及如何检查 DNS 是否设置?
- angular - 如何删除 Angular 7 中的引导工具栏?
- postgresql - 在 Postgres 函数中使用参数作为列名
- hadoop - 使用 Hive 计算文本变量的单词频率
- javascript - Material-UI:使用 Array.map() 时将道具传递给 useStyles