我有一個包含 1 個日期列的資料框:
> head(df$date)
[1] "1952-02-03" "1958-02-08" "1958-02-08" "1958-02-08" "1965-02-07" "1966-03-03"
格式如你所見:“Y%-m%-d%”
我想從這一列中創建兩列,一列僅包含年份,第二列包含月份和日期。
想要的輸出
| 年 | 月日 |
|---|---|
| 1952年 | 02-03 |
| 1958年 | 02-08 |
等等。
我試過這個:
setDT(df)[, c("year", "month_day") :=
c(tstrsplit(date, "-", type.convert = TRUE))]
但是我當然會收到此錯誤訊息:Supplied 2 columns to be assigned 3 items.
我完全理解,但我無法在任何地方找到僅將日期資訊拆分為兩列的語法。
非常感謝。
uj5u.com熱心網友回復:
只需使用format獲取您想要的日期部分:
df$year <- format(df$date, "%Y")
df$month_day <- format(df$date, "%m-%d")
df
# date year month_day
# 1 1952-02-03 1952 02-03
# 2 1958-02-08 1958 02-08
# 3 1958-02-08 1958 02-08
# 4 1958-02-08 1958 02-08
# 5 1965-02-07 1965 02-07
# 6 1966-03-03 1966 03-03
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/456366.html
