R语言 将数字链转换为日期

ryoqjall  于 2023-01-15  发布在  其他
关注(0)|答案(2)|浏览(179)

我正在尝试将一个数字列表(例如20200119)转换为有效日期(此处为:2020年1月19日)
这是我的试验数据:

df <- data.frame(c(20200119, 20180718, 20180729, 20150502, 20010301))
colnames(df)[1] = "Dates"

这是我目前所做的尝试:

df <- as_date(df)
df <- as.Date.numeric(df)
df <- as.Date.factor(df)

很不幸,这两种方法都不管用。我也试过把数字分开,但我都没能做到。
有人能帮帮我吗?

w1e3prcc

w1e3prcc1#

将其转换为character,然后将其转换为具有给定格式%Y%m%dDate

as.Date(as.character(df$Dates), "%Y%m%d")
#[1] "2020-01-19" "2018-07-18" "2018-07-29" "2015-05-02" "2001-03-01"
rjee0c15

rjee0c152#

另一个选项是将strptime与右侧format一起使用,如下所示:

df <- data.frame(c(20200119, 20180718, 20180729, 20150502, 20010301))
colnames(df)[1] = "Dates"
df$Dates2 <- strptime(df$Dates, format = "%Y%m%d")
df
#>      Dates     Dates2
#> 1 20200119 2020-01-19
#> 2 20180718 2018-07-18
#> 3 20180729 2018-07-29
#> 4 20150502 2015-05-02
#> 5 20010301 2001-03-01

创建于2023年1月12日,使用reprex v2.0.2

相关问题