首页
学习
活动
专区
圈层
工具
发布

R*
EN

Stack Overflow用户
提问于 2021-12-19 22:44:10
回答 1查看 270关注 0票数 -2

我有这样的数据:

代码语言:javascript
复制
date        area        people_tested    positive_cases positive
2021-12-09  Total       76282.0                402.0000 0.005300000
2021-12-10  Total       84023.0                389.0000 0.004600000
2021-12-09  Total_3da        NA                382.3333 0.004900000
2021-12-10  Total_3da        NA                377.6667 0.004933333
2021-12-09  Paris_3da   75257.4                      NA          NA
2021-12-10  Paris_3da   71553.6                      NA          NA

我想为每一个组合创建一个有线条的情节。例如:

  1. 第1行->总计/ people_tested
  2. 第2行->总计/ positive_cases
  3. 第3行->总计/阳性
  4. 第4行-> Total_3da / positive_cases
  5. 第5行-> Total_3da /阳性
  6. 第6行-> Paris_3da / people_tested

我也希望'people_tested' & 'positive_cases'在同一个轴上,‘正’在第二轴上。

我考虑过这样做的一种方法是创建一个具有以下格式的新表,但我想知道是否有更简单的方法可以做到这一点:

代码语言:javascript
复制
date        area                      value 
2021-12-09  Total_people_tested     76282.0                
2021-12-10  Total_people_tested     84023.0  
2021-12-09  Total_positive_cases      402.0
2021-12-10  Total_positive_cases      389.0
etc
EN

回答 1

Stack Overflow用户

发布于 2021-12-20 15:49:25

直接在ggplot2上,我认为是不可能的。一种解决方案是将重塑步骤与facet_grid相结合。类似于:

代码语言:javascript
复制
library(tidyr)

# reshaping to long form
df_tidy <- df %>%
    pivot_longer(cols = people_tested:positive,
            names_to = “names”,
            values_to_ “value”)

# using ggplot
df_tidy %>% ggplot(aes(x = date, y = value)) +
    geom_line() +
    facet_grid(names ~ area)

我推荐韦翰的著作“ggplot2:用于数据分析的优雅图形”。它有大量的例子可供探讨!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70415892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档