【发布时间】:2018-09-16 14:56:29
【问题描述】:
我使用raster和netCDF包来导入历史温度数据。但是,日期列的日期格式很奇怪,R 抱怨不是标准日期格式。我使用lubricate 和r base 进行日期格式强制,但仍然没有摆脱这个问题。这是我的部分数据的样子:
> head(dat)
date tmax tmin
1 X1980.01.01 1.91 -0.04
2 X1980.01.02 0.77 -1.00
3 X1980.01.03 0.01 -4.37
4 X1980.01.04 3.08 -3.13
5 X1980.01.05 4.69 2.57
6 X1980.01.06 5.08 2.86
> class(dat$date)
[1] "character"
我的dat$date 列变为character 而不是Date。我尝试gsub 摆脱X 字符,但我没有做对。我也尝试了as.Date 和as_datetime,但我仍然没有得到正确的日期格式。是否有任何快速解决方案可以将上述日期格式转换为标准格式。
头(napa$日期)
任何想法或任何快速解决方案?
【问题讨论】:
-
只需删除
X例如。lubridate::ymd(gsub("X", "", "X1980.01.01")) -
lubridate 和 gub 是矢量化的。不需要lapply
-
@RichardTelford 我更新了我原来的数据框格式,你这里有动态解决方案吗?我其实有点困惑。谢谢
-
所以它是
dat$date。如果不想使用lubridate等外部包,在gsub之后做dat$date <- as.Date(dat$date, "%Y.%m.%d")。 -
@RichardTelford 很有魅力,感谢您的帮助。
标签: r date data-manipulation