r - 在 R 中将列设置为日期时间

标签 r datetime format type-conversion

我的数据集中的日期是这样的:20130501000000,我正在尝试将其转换为 R 中更好的日期时间格式

data1$date <- as.Date(data1$date, format = "%Y-%m-%s-%h-%m-%s")

但是,我收到一个需要原点的错误。在我将日期下的第一个单元格作为原点后,它将日期下的每个单元格转换为 N/A。这是正确的还是我应该尝试 as.POSIXct()?

最佳答案

这是一种有点退化的格式,但 anytime()anydate() anytime 的功能package 可以帮助你,不需要任何明确的格式字符串:

R> anytime("20130501000000")       ## returns POSIXct
[1] "2013-05-01 CDT"
R> anydate("20130501000000")       ## returns Date
[1] "2013-05-01"
R> 

并不是说我们在这里从字符表示中解析——从数字解析是错误的,因为我们使用冲突的启发式方法来理解存储数字值的日期。

所以在这里你的代码会变成
data1$data <- anytime::anydate(data1$date)

提供 data1$date是字符,否则换一个 as.character()周围。

最后,如果你真的想要日期时间而不是日期(根据你的标题),不要使用 anydate()但是 anytime() .

关于r - 在 R 中将列设置为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41537045/

相关文章:

r - 通过逻辑索引向量对列表进行子集化

mysql - 将电话号码格式化为10位数字(mysql)

r - 强制 summary() 报告 NA 的数量,即使没有

r - 带有长文本、项目符号和特定表格宽度的表格

javascript - findDOMNode 已弃用

python - 在 Pandas Dataframe 中估算缺失的日期

c# - GetWeekOfYear 返回 2 而它应该为日期 02.01.2012 返回 1

sql-server-2008 - 从固定格式文本文件批量插入忽略行终止符

python - 在 Python 中将字符串格式化为恒定长度

r - 向 R 中数据框的特定列添加前缀