use*_*020 1 datetime r date zoo lubridate
我有一个数字向量如下
aa <- c(1022011, 2022011, 13022011, 23022011) (this vector is just a sample, it is very long)
Run Code Online (Sandbox Code Playgroud)
值的编写方式是第一个值是日,然后是月,然后是年.
我现在正在做的是
as.Date(as.character(aa), %d%m%Y")
Run Code Online (Sandbox Code Playgroud)
但,
在单位数日期数的情况下,它会导致问题(返回NA).(即1022011,2022011).
所以基本上
as.Date("1022011", "%d%m%Y") does not work
Run Code Online (Sandbox Code Playgroud)
但
as.Date("01022011", "%d%m%Y") (pasting '0' ahead of the number) works.
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想避免粘贴'0'.有没有其他(直接)替代方法一次将数值转换为日期?
它可以重新排列使用sub在这种情况下as.Date没有格式的普通工作:
x <- c(1022011, 11022011) # test data
pat <- "^(..?)(..)(....)$"
as.Date(sub(pat, "\\3-\\2-\\1", x))
Run Code Online (Sandbox Code Playgroud)
赠送:
[1] "2011-02-01" "2011-02-11"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |