如何解决如何将字符日期转换为日期格式
a <- c("2-Apr-2021","31-Mar-2018")
head(a)
# [1] "2-Apr-2021" "31-Mar-2018"
b <- strptime(a,format = "%d-%m-%Y")
head(b)
# [1] NA NA
我尝试通过 strptime 将字符转换为日期。但返回 NA NA。可以请教一下吗?
解决方法
在 base R
中,您可以执行以下操作:
(请注意,由于我的系统语言不同,我需要更改月份缩写)
# convert the string to date format
tmp1 <- as.Date(c("2-Apr-2021","31-Mär-2018"),format = "%d-%b-%Y")
# change the output format
format(tmp1,format = "%d-%m-%Y")
# "02-04-2021" "31-03-2018"
## Using strptime() ##
# convert to date
tmp1 <- strptime(c("2-Apr-2021",format = "%d-%b-%Y")
# format
format(tmp1,format = "%d-%m-%Y")
# "02-04-2021" "31-03-2018"
或使用 lubridate
library(lubridate)
format(dmy(c("2-Apr-2021","31-Mär-2018")),format = "%d-%m-%Y")
# "02-04-2021" "31-03-2018"
更新
tmp1 <- as.Date(df[,1],format = "%d-%b-%y")
format(tmp1,format = "%d-%m-%Y")
# [1] "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021"
# [11] "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "02-04-2021" "31-03-2021" "31-03-2021" "31-03-2021" "31-03-2021"
数据
df <- structure(list(date_adj = c("2-Apr-21","2-Apr-21","31-Mär-21","31-Mär-21" )),row.names = c(NA,20L),class = "data.frame")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。