【问题标题】:Combining 2 columns with values in R将 2 列与 R 中的值相结合
【发布时间】:2020-06-07 08:20:48
【问题描述】:

我正在研究有关足球的数据集。所以我做了一些时间序列分析。我计算了上个月的目标数量和目标数量。现在我正在尝试将其绘制成图表。 我正在尝试制作一个包含某个月份目标和上个月目标的组条形图。

这是我正在使用的代码:

df_eredivisie %>% 
  group_by(month= month(date, label = TRUE)) %>% 
  summarise(goals = sum(FTHG + FTAG)) %>% 
  mutate(last = lag(goals, 1))

结果是这样的(抱歉不能发图:/):

month goals last
Jan 69  NA      
Feb 121 69      
Mar 116 121     
Apr 155 116     
May 78  155     
Aug 88  78      
Sep 124 88      
Oct 91  124     
Nov 91  91      
Dec 128 91

有人可以帮我制作分组条形图吗?我尝试将这些列组合在一起,这样我就可以填充并设定目标并使用不同的颜色。但我不知道该怎么做。

【问题讨论】:

  • 你可以试试 facet_wrap() 或 facet_grid()。尝试stackoverflow.com/questions/25690208/layered-axes-in-ggplot/…了解更多详情
  • 嗨,Bart,您可以与我们分享dput 函数在(head(df_eredivisie, 30) 或上面代码的结果上的结果。这样,我们可以通过尝试一些真实的代码来帮助您。另外,请尝试添加预期的输出,因此我们一定会正确回答问题。但是,您可能正在寻找tidyr::pivot_longer

标签: r ggplot2 dplyr tidyverse


【解决方案1】:

你的数据需要是长格式的,那就简单了:

library(ggplot2)
library(tidyverse)

df <- tribble(~month, ~goals, ~last,
              "Jan",  69,     NA,
              "Feb",  121,    69,
              "Mar",  116,    121,
              "Apr",  155,    116,
              "May",  78,     155,
              "Aug",  88,     78,
              "Sep",  124,    88,
              "Oct",  91,     124,
              "Nov",  91,     91,
              "Dec",  128,    91)

df %>% 
  pivot_longer(cols = 2:3, names_to = "category") %>% 
  mutate(month = factor(month, levels = month.abb)) %>% 
  ggplot(aes(x = month, y = value, fill = category)) +
  geom_col(position = "dodge")
#> Warning: Removed 1 rows containing missing values (geom_col).

reprex package (v0.3.0) 于 2020-06-07 创建

如果你把因素颠倒过来,它看起来像这样:

df %>% 
  pivot_longer(cols = 2:3, names_to = "category") %>% 
  mutate(month = factor(month, levels = month.abb)) %>% 
  ggplot(aes(x = month, y = value, fill = forcats::fct_rev(category))) +
  geom_col(position = "dodge")
#> Warning: Removed 1 rows containing missing values (geom_col).

reprex package (v0.3.0) 于 2020 年 6 月 7 日创建

所以它可以工作,但是第二列没有添加任何信息,因为您可以在它旁边看到上个月...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2012-01-14
    相关资源
    最近更新 更多