【问题标题】:geom_line() omits the whole time series when when some quarters are missinggeom_line() 当缺少某些季度时省略整个时间序列
【发布时间】:2021-10-20 23:57:55
【问题描述】:

我正在尝试比较 3 家不同公司的固定资产周转率。我的挑战是,两家公司发布年度(A,C)数据,而另一家发布季度数据(A),即 A 和 B 数据仅在第四季度(年底)可用。这是数据

# A tibble: 30 × 3
   Company time    value
   <chr>   <fct>   <dbl>
 1 A       2019 Q1 NA   
 2 A       2019 Q2 NA   
 3 A       2019 Q3 NA   
 4 A       2019 Q4  7.88
 5 A       2020 Q1 NA   
 6 A       2020 Q2 NA   
 7 A       2020 Q3 NA   
 8 A       2020 Q4  8.52
 9 A       2021 Q1 NA   
10 A       2021 Q2 NA   
11 B       2019 Q1  6.51
12 B       2019 Q2  6.48
13 B       2019 Q3  6.77
14 B       2019 Q4  6.72
15 B       2020 Q1  7.26
16 B       2020 Q2  8.33
17 B       2020 Q3  8.65
18 B       2020 Q4  8.55
19 B       2021 Q1  8.29
20 B       2021 Q2  8.59
21 C       2019 Q1 NA   
22 C       2019 Q2 NA   
23 C       2019 Q3 NA   
24 C       2019 Q4  7.79
25 C       2020 Q1 NA   
26 C       2020 Q2 NA   
27 C       2020 Q3 NA   
28 C       2020 Q4  8.95
29 C       2021 Q1 NA   
30 C       2021 Q2 NA   

虽然 A 和 C 上有第四季度的数据,但 geom_line() 似乎忽略了整个系列。

代码

ggplot(df,aes(x=`time`,y=value,color=Company,group=Company))+
  geom_line()+
  theme_bw()+
  theme(axis.text.x = element_text(angle = 45,hjust=1))

here is graph

如何根据缺少的季度显示这些其他系列??

【问题讨论】:

    标签: r ggplot2 time-series missing-data


    【解决方案1】:

    您至少需要两个连续的点才能形成一条线。您可以删除 na 并使用geom_line 进行绘图,或者仅使用geom_point 进行绘图。

    【讨论】:

    • 再次,许多机构使用最新的统计数据,直到有最新的统计数据可用。另一种方法是用最后一个可用的季度替换丢失的季度。示例将 2020 年 Q1、Q2、Q3 的值替换为 2019 年第四季度的值
    猜你喜欢
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    相关资源
    最近更新 更多