【问题标题】:Changing column format更改列格式
【发布时间】:2019-09-22 19:03:44
【问题描述】:

我想将列类型更改为日期时间类型。 xlsx 文件中的数据如下所示:

"2012-05-22 22:03:14"

R 将其标识为字符变量。

我尝试使用以下 R 代码:

as.Date(data$tempus, format="%Y-%m-%d %H:%M:%OS")
as.POSIXlt(data$tempus, format="%Y-%m-%d %H:%M:%OS")
format(as.Date(data$tempus, format="%Y-%m-%d %H:%M:%OS"))

然而,当使用

检查数据格式时
typeof(data$tempus)

R 产生:"character"

【问题讨论】:

  • 您是否将修改后的列保存回data.frame
  • 正如manotheshark所说,记得重新分配列data$columnnamehere <- as.Date(data$columnnamehere, "%y-%m-%d")
  • 我以前没有,现在我命令了:data$tempus
  • 尝试做data$tempus <- as.POSIXct(data$tempus) 然后检查class(data$tempus) 它应该给你"POSIXct"
  • 终于达到了想要的效果。谢谢。

标签: r datetime formatting format datetime-format


【解决方案1】:

没有足够的积分来发表评论,因此回答。 我最喜欢的日期库是 Lubridate

t<-"2012-05-22 22:03:14"
str(t)
library(lubridate)
t<-ymd_hms(t, tz= "Asia/Kolkata")
str(t)
t

您只需提供正确的输入格式。 Lubridate 负责一切。你永远不必写 %h 或 %D 。

也可以使用 str() 命令来查找数据的类型。

【讨论】:

  • 如果对您有帮助,请接受答案。谢谢
猜你喜欢
  • 2019-03-30
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
相关资源
最近更新 更多