geom_line() 当缺少某些季度时省略整个时间序列

Posted

技术标签:

【中文标题】geom_line() 当缺少某些季度时省略整个时间序列【英文标题】:geom_line() omits the whole time series when when some quarters are missing 【发布时间】: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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

再次,许多机构使用最新的统计数据,直到有最新的统计数据可用。另一种方法是用最后一个可用的季度替换丢失的季度。示例将 2020 年 Q1、Q2、Q3 的值替换为 2019 年第四季度的值

以上是关于geom_line() 当缺少某些季度时省略整个时间序列的主要内容,如果未能解决你的问题,请参考以下文章

[WTL/ATL]_[初级]_[TreeView控件如何显示ToolTip]

省略某些值时如何创建桑基图

Python串行端口在传输中省略字符

使用 Java DOM + Transformer 时省略 xml 声明中的独立属性。

LDAP 和 Active Directory 结果缺少某些结果的字段

编译器可以省略以下副本吗?