首页 > 解决方案 > 带有长组标签的李克特量表调查结果的箱线图

问题描述

对于要求受访者回答的每个陈述,我的数据有 5 个观察值,然后是受访者 ID 的变量 1-5。

我设法boxplot使用 base R 进行了操作,但我的标签太长(5-8 个字),我似乎无法使其与 par 函数一起使用。

q4 <- par(mar=c(8, 2, 1, 1))
q4 <- boxplot(np$ab_overused_nationally4, np$ab_overused_work4, 
              np$ab_amr_problem4, np$ab_amr_problem_work4,
              np$ab_better_use4, ylab="Likert Scale", las=2, names=question4,
              main="How much do you agree with the following statements", 
              col=(c("gold", "darkgreen")))

所以我想我会尝试ggplot,因为它似乎有更多的灵活性,但我无法弄清楚如何只用一个轴来做到这一点。我还看到了一些非常整齐的堆叠条来可视化数据,但同样,我什至不知道从哪里开始。

编辑以添加 df:

# A tibble: 19 x 5
   ab_overused_nationally4 ab_overused_work4 ab_amr_problem4 ab_amr_problem_work4 ab_better_use4
                     <dbl>             <dbl>           <dbl>                <dbl>          <dbl>
 1                       4                 2               4                    4              5
 2                       4                 4               4                    3              4
 3                       5                 3               4                    2              5
 4                       3                 3               4                    2              5
 5                       5                 3               5                    4              5
 6                       5                 4               5                    5              5
 7                       4                 1               5                    2              5
 8                       5                 1               4                    2              5
 9                       4                 2               4                    3              5

标签: rggplot2

解决方案


你需要这样的东西吗?

library(tidyr)
library(ggplot2)

np %>%
  pivot_longer(cols = everything()) %>%
  ggplot(aes(name, value)) + geom_boxplot()

推荐阅读