当前,我正在研究RStudio的Retrosheet数据框,不喜欢日期格式,并且想要更改它。
devtools::install_github("rmscriven/retrosheet")
然后我导入了我想从中使用的数据框
GL17 <- getRetrosheet("gamelog", 2017)
将数据帧日期向量设为YYYYMMDD,就像没有正确格式设置一样,例如20170402
,但我想将其更改为例如显示为2017-04-02
,而我尝试过as.Date(GL17$Date, "Y%d%m%")
,但返回为
Error in charToDate(x) : character string is not in a standard unambiguous format
这很合理。是否有比edit(GL17)更容易操纵整个矢量的方法,而这种方法要花很多时间,而且通常是行不通的。
答案 0 :(得分:0)
“ ... YYYYMMDD 一样,没有正确的格式,例如20170402,但是我想更改它以显示为例如2017-04-02,我已经尝试过as.Date(GL17 $日期,“ Y%d%m%” )作为“
它是YYYYMMDD,但是您执行了“ Y%d%m”,这在两个级别上都是错误的-缺少的%以及m和d的顺序错误:
> as.Date("20100331","Y%d%m")
[1] NA
> as.Date("20100331","%Y%d%m")
[1] NA
使用正确的格式可以起作用:
> as.Date("20100331","%Y%m%d")
[1] "2010-03-31"
但是请注意,我的上述错误并没有重现您的错误,因此您必须做其他错误。也许您的约会日期实际上是很大的数字:
> as.Date(20100331,"%Y%m%d")
Error in charToDate(x) :
character string is not in a standard unambiguous format
这似乎总是会给您带来相同的错误。将数字转换为字符,然后重试:
> as.Date(as.character(20100331),"%Y%m%d")
[1] "2010-03-31"