我想将数据框中的季度列转换为日期格式 df1_long
Quarter Country value
1: Q1-2019 Australia 1607.929
2: Q2-2019 Australia 1267.899
3: Q3-2019 Australia 1584.615
4: Q4-2019 Australia 1627.014
5: Q1-2020 Australia 2000.000
6: Q3-2022 Australia 1960.000
7: Q4-2022 Australia 1908.295
8: Q1-2023 Australia 2200.000
9: Q2-2023 Australia 1838.000
10: Q1-2019 US 3652.640
11: Q2-2019 US 3017.615
12: Q3-2019 US 3081.797
13: Q4-2019 US 3179.357
14: Q1-2020 US 4064.289
15: Q3-2022 US 3076.462
16: Q4-2022 US 3987.771
17: Q1-2023 US 4036.000
18: Q2-2023 US 3032.000
19: Q1-2019 Canada 3311.035
当我尝试
df1_long$Q1 <-as.Date(as.yearqtr(df1_long$Quarter, format = "Q%q-%y"))
使用 lubridate 库时,我最终得到的结果是所有年份都默认为 2020 年。
Quarter Country value Q1
1: Q1-2019 Australia 1607.929 2020-01-01
2: Q2-2019 Australia 1267.899 2020-04-01
3: Q3-2019 Australia 1584.615 2020-07-01
4: Q4-2019 Australia 1627.014 2020-10-01
5: Q1-2020 Australia 2000.000 2020-01-01
6: Q3-2022 Australia 1960.000 2020-07-01
7: Q4-2022 Australia 1908.295 2020-10-01
8: Q1-2023 Australia 2200.000 2020-01-01
9: Q2-2023 Australia 1838.000 2020-04-01
10: Q1-2019 US 3652.640 2020-01-01
11: Q2-2019 US 3017.615 2020-04-01
12: Q3-2019 US 3081.797 2020-07-01
13: Q4-2019 US 3179.357 2020-10-01
14: Q1-2020 US 4064.289 2020-01-01
15: Q3-2022 US 3076.462 2020-07-01
16: Q4-2022 US 3987.771 2020-10-01
17: Q1-2023 US 4036.000 2020-01-01
18: Q2-2023 US 3032.000 2020-04-01
19: Q1-2019 Canada 3311.035 2020-01-01
我该如何纠正这个问题?
我也尝试过润滑
df1a_long <- df1_long %>% mutate(qtr = quarter(x, with_year = T))
但这没有用。
当尝试其他选项时,通常会出现“由as.POSIXlt.character()
中的错误引起:
!字符串不是标准的明确格式”错误,我认为这是由于该季度出现多个相同的日期,因为在同一时间点测量多个国家/地区。