如何在 R 資料框列中從 6 位數字中分割月份和年份?
有時我們得到的資料並不適合進行分析,其中一種情況是將日期儲存為 6 位數字,例如 202105,它表示 2021 年的第五個月,而不是 2021/05 的日期格式。因此,我們需要分割日期並從數字中提取月份和年份。藉助轉換函式,可以輕鬆完成此操作,如下面的示例所示。
示例 1
考慮以下資料框 -
> Date<-sample(c(202101,202102,202103),20,replace=TRUE) > Response1<-rnorm(20) > df1<-data.frame(Date,Response1) > df1
輸出
Date Response1 1 202103 0.946367628 2 202103 1.241718518 3 202101 -0.657920816 4 202103 -0.809622853 5 202102 -1.996697735 6 202103 -0.008161429 7 202103 -1.076252898 8 202103 1.677882433 9 202102 1.172454683 10 202102 0.150296104 11 202101 -0.084385416 12 202101 -1.448539196 13 202101 1.264693614 14 202101 0.256453476 15 202103 -0.466133896 16 202103 -0.469300432 17 202103 0.724691974 18 202101 0.663945007 19 202103 0.156898247 20 202103 0.364965504
從 df1 中的日期建立月份和年份的列 -
> transform(df1,Month=substr(Date,5,6),Year=substr(Date,1,4))
輸出
Date Response1 Month Year 1 202103 0.946367628 03 2021 2 202103 1.241718518 03 2021 3 202101 -0.657920816 01 2021 4 202103 -0.809622853 03 2021 5 202102 -1.996697735 02 2021 6 202103 -0.008161429 03 2021 7 202103 -1.076252898 03 2021 8 202103 1.677882433 03 2021 9 202102 1.172454683 02 2021 10 202102 0.150296104 02 2021 11 202101 -0.084385416 01 2021 12 202101 -1.448539196 01 2021 13 202101 1.264693614 01 2021 14 202101 0.256453476 01 2021 15 202103 -0.466133896 03 2021 16 202103 -0.469300432 03 2021 17 202103 0.724691974 03 2021 18 202101 0.663945007 01 2021 19 202103 0.156898247 03 2021 20 202103 0.364965504 03 2021
示例 2
> Date<-sample(c(202010,202011,202012),20,replace=TRUE) > Rate<-rpois(20,10) > df2<-data.frame(Date,Rate) > df2
輸出
Date Rate 1 202011 9 2 202010 14 3 202011 13 4 202012 16 5 202012 10 6 202012 8 7 202012 3 8 202011 20 9 202010 9 10 202011 13 11 202010 12 12 202011 14 13 202012 10 14 202011 15 15 202011 11 16 202011 5 17 202011 15 18 202010 15 19 202011 12 20 202012 5
從 df2 中的日期建立月份和年份的列 -
> transform(df2,Year=substr(Date,1,4),Month=substr(Date,5,6))
輸出
Date Rate Year Month 1 202011 9 2020 11 2 202010 14 2020 10 3 202011 13 2020 11 4 202012 16 2020 12 5 202012 10 2020 12 6 202012 8 2020 12 7 202012 3 2020 12 8 202011 20 2020 11 9 202010 9 2020 10 10 202011 13 2020 11 11 202010 12 2020 10 12 202011 14 2020 11 13 202012 10 2020 12 14 202011 15 2020 11 15 202011 11 2020 11 16 202011 5 2020 11 17 202011 15 2020 11 18 202010 15 2020 10 19 202011 12 2020 11 20 202012 5 2020 12
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
c#
MongoDB
MySQL
Javascript
PHP