You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中结合分组类别使用gglikert()绘制李克特图?

用gglikert()结合分组绘制李克特数据可视化图表

你的数据已经正确定义了李克特等级的顺序,接下来可以通过两种方式结合var分组(NO/YES)使用gglikert()绘制可视化图表:

方法1:分面展示各组李克特分布

将不同分组拆分为独立子图,清晰展示每组的评分分布:

library(ggplot2)
library(scales)

gglikert(df, mapping = aes(y = A)) +
  # 按var分组分面,设置为两列布局
  facet_wrap(~var, ncol = 2) +
  # 添加标题和标签
  labs(
    title = "李克特评分按分组分面展示",
    x = "占比",
    y = "评分等级"
  ) +
  # 格式化x轴为百分比
  scale_x_continuous(labels = percent_format())

说明

  • gglikert(df, aes(y = A)) 指定以李克特变量A为y轴,自动计算各等级的占比
  • facet_wrap(~var) 按var的两个类别创建分面,让每组的分布独立展示
  • 百分比格式的轴标签更直观呈现各等级的占比情况

方法2:分组并排条形图

将两个组的条形放在同一图表中并排,方便直接对比各组在相同评分等级的占比:

library(ggplot2)
library(scales)

gglikert(df, mapping = aes(x = A, fill = var)) +
  # 设置条形并排展示,避免重叠
  geom_bar(position = position_dodge2(width = 0.9), stat = "count") +
  # 转换y轴为百分比
  scale_y_continuous(labels = percent_format()) +
  # 添加标题和标签
  labs(
    title = "李克特评分按分组并排对比",
    x = "评分等级",
    y = "占比",
    fill = "分组"
  ) +
  # 调整图例位置到顶部,优化布局
  theme(legend.position = "top")

说明

  • aes(x = A, fill = var) 指定x轴为李克特等级,用var作为填充色区分不同分组
  • position_dodge2(width = 0.9) 让同等级下的两个分组条形并排排列,便于直接对比
  • 百分比格式的y轴清晰展示各等级的占比差异

内容的提问来源于stack exchange,提问作者Homer Jay Simpson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 13:13:30