【问题标题】:Bar chart for grouped data in RR中分组数据的条形图
【发布时间】:2021-03-12 01:39:45
【问题描述】:

我想在 R 中为分组数据创建条形图,但找不到正确的代码。 就我而言,我有三个不同的列,分别是数学分数、阅读分数和写作分数。同样对于所有这三列,我想将女性和男性的结果分开。查看我想要得到的结果的照片。

数据在这里https://www.kaggle.com/spscientist/students-performance-in-exams 首先,我需要找到女性数学、阅读和写作结果的平均值以及男性数学、阅读和写作结果的平均值,我使用这样的代码:

dta %>% 
  group_by(gender) %>%   
  summarise(mathmean = mean(math.score), 
            readingmean = mean(reading.score), 
            writingmean = mean(writing.score))

但是,我怎样才能像下图那样做条形图呢?

非常感谢:)

【问题讨论】:

    标签: r bar-chart


    【解决方案1】:

    给你:

    # https://www.kaggle.com/spscientist/students-performance-in-exams
    input_csv <- file.choose()
    
    # read in the csv file
    students_performance <- read_csv(input_csv)
    
    
    students_performance %>% 
      select(gender, 'writing score', 'reading score', 'math score') %>% 
      group_by(gender) %>% 
      summarise_at(vars('writing score', 'reading score', 'math score'), funs(mean(., na.rm = TRUE))) %>% 
      pivot_longer(cols = c('writing score', 'reading score', 'math score'),
                   names_to = 'type',
                   values_to = 'score') %>% 
      ggplot(aes(x = factor(type, levels = c('writing score', 'reading score', 'math score')), y = score, fill = gender)) +
      geom_bar(stat = 'identity', position = 'dodge') +
      geom_text(aes(label = round(score, digits = 1)), position = position_dodge(width = 1), vjust = -0.2) +
      expand_limits(y = 80) +
      labs(
        title = "Student Performance by Gender",
        x = "Exam Type",
        y = "Mean Score",
        fill = "Gender"
      ) +
        theme(
        axis.text.x = element_text(angle = 45, hjust = 1)
      )
    

    【讨论】:

    • 我已经更新了我的解决方案。仅供参考,您可以通过使用theme 来完成此操作,如我的代码所示。
    • 更新了我的解决方案。
    • 令我困惑的是 read_csv 在列名中留下了空格。这似乎破坏了 tidyvrse 语法的吸引力,它允许以不带引号的方式引用列。 (只是一个观察,而不是对答案的批评。)
    猜你喜欢
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 2015-09-08
    相关资源
    最近更新 更多