如何在R中將包含整數值的資料框列轉換為日期?


如果我們有一個整數列,它實際上包含日期值,例如將2020年9月29日表示為20200929,那麼我們可以使用transform函式結合as.Date函式進行轉換,但可能還需要as.character函式,以便as.Date函式能夠讀取日期值。

示例1

 線上演示

考慮以下資料框:

ID<−1:20
Dates<−c(20200101, 20200401, 20201015, 20200111, 20200222, 20200121, 20200701, 20201231, 20200417, 20200601, 20200811, 20200927, 20200512, 20200713, 20200225, 20200324, 20200203, 20200819, 20200916, 20200428)
df1<−data.frame(ID,Dates)
df1

輸出

   ID    Dates
1 1 20200101
2 2 20200401
3 3 20201015
4 4 20200111
5 5 20200222
6 6 20200121
7 7 20200701
8 8 20201231
9 9 20200417
10 10 20200601
11 11 20200811
12 12 20200927
13 13 20200512
14 14 20200713
15 15 20200225
16 16 20200324
17 17 20200203
18 18 20200819
19 19 20200916
20 20 20200428

將日期轉換為合適的日期格式:

df1<−transform(df1,Dates=as.Date(as.character(Dates),"%Y%m%d"))
df1

輸出

   ID    Dates
1 1 2020−01−01
2 2 2020−04−01
3 3 2020−10−15
4 4 2020−01−11
5 5 2020−02−22
6 6 2020−01−21
7 7 2020−07−01
8 8 2020−12−31
9 9 2020−04−17
10 10 2020−06−01
11 11 2020−08−11
12 12 2020−09−27
13 13 2020−05−12
14 14 2020−07−13
15 15 2020−02−25
16 16 2020−03−24
17 17 2020−02−03
18 18 2020−08−19
19 19 2020−09−16
20 20 2020−04−28

示例2

 線上演示

S.NO<−1:20
Date<−c(19980313, 19980604, 19980409, 19980104, 19980501, 19980101, 19980521, 19980412, 19980601, 19980711, 19980615, 19980810, 19980509, 19980221, 19981101, 19981121, 19981009, 19980915, 19980929, 19980813)
df2<−data.frame(S.NO,Date)
df2

輸出

   S.NO    Date
1 1 19980313
2 2 19980604
3 3 19980409
4 4 19980104
5 5 19980501
6 6 19980101
7 7 19980521
8 8 19980412
9 9 19980601
10 10 19980711
11 11 19980615
12 12 19980810
13 13 19980509
14 14 19980221
15 15 19981101
16 16 19981121
17 17 19981009
18 18 19980915
19 19 19980929
20 20 19980813

將日期轉換為合適的日期格式:

df2<−transform(df2,Date=as.Date(as.character(Date),"%Y%m%d"))
df2

輸出

   S.NO    Date
1 1 1998−03−13
2 2 1998−06−04
3 3 1998−04−09
4 4 1998−01−04
5 5 1998−05−01
6 6 1998−01−01
7 7 1998−05−21
8 8 1998−04−12
9 9 1998−06−01
10 10 1998−07−11
11 11 1998−06−15
12 12 1998−08−10
13 13 1998−05−09
14 14 1998−02−21
15 15 1998−11−01
16 16 1998−11−21
17 17 1998−10−09
18 18 1998−09−15
19 19 1998−09−29
20 20 1998−08−13

更新於:2020年11月7日

874 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告