所以我有以下具有 1 列日期的資料框。
date <- structure(list(Date = c("09/09/202109/09", "09/12/202109/12",
"10/12/202110/12", "11/12/202111/12", "01/12/202201/12", "08/12/202108/12"
)), row.names = c(NA, 6L), class = "data.frame")
> print(date)
Date
1 09/09/202109/09
2 09/12/202109/12
3 10/12/202110/12
4 11/12/202111/12
5 01/12/202201/12
6 08/12/202108/12
對于第 1 行 (09/09/202109/09) - 日期為 09/09/2021。我最初的計劃是只使用 case_when/mutate 并更改每個日期,但我想看看是否有更快的方法。
是否可以洗掉列中每一行的最后 4 個字符?
我想要的輸出是這個
> print(date)
Date
1 09/09/2021
2 09/12/2021
3 10/12/2021
4 11/12/2021
5 01/12/2022
6 08/12/2021
>
uj5u.com熱心網友回復:
我假設你的日期是月/日/年。但是,如果它們是日/月/年,只需更改"%m/%d/%Y"為"%d/%m/%Y".
date <- structure(list(Date = c("09/09/202109/09", "09/12/202109/12",
"10/12/202110/12", "11/12/202111/12", "01/12/202201/12", "08/12/202108/12"
)), row.names = c(NA, 6L), class = "data.frame")
clean_date_strings <- substr(date$Date, 1, nchar(date$Date)-4)
as.Date(clean_date_strings, format = "%m/%d/%Y")
輸出:
r$> as.Date(clean_date_strings, format = "%m/%d/%Y")
[1] "2021-09-09" "2021-09-12" "2021-10-12" "2021-11-12" "2022-01-12" "2021-08-12"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/414685.html
標籤:
