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

如何在R中基于两类低级别比例之和对gglikert图表排序?

解决方法

要实现按最左侧两类低级别选项的比例之和对gglikert图表排序,需手动计算每个项目的目标比例,再基于该比例指定项目排序顺序,具体步骤如下:

  1. 加载包与数据
library(ggstats)
data(df)
  1. 确保回答为有序因子(保证类别顺序正确)
    如果原始数据的回答不是有序因子,先转换为有序因子,明确从低到高的级别顺序(以常见李克特五级为例):
df[] <- lapply(df, function(x) {
  factor(x, 
         levels = c("Strongly disagree", "Disagree", "Neutral", "Agree", "Strongly agree"),
         ordered = TRUE)
})
  1. 计算每个项目的最左侧两类低级别比例之和
# 遍历每个项目,计算前两类(最左侧)的比例总和
low_level_prop <- sapply(df, function(col) {
  prop_table <- prop.table(table(col))
  sum(prop_table[1:2])  # 取前两个类别的比例相加
})

# 按比例之和排序,得到项目顺序(升序;若要降序,添加decreasing = TRUE)
sorted_projects <- names(sort(low_level_prop))
  1. 生成按目标规则排序的图表
    直接在sort参数中传入自定义的项目顺序即可:
p <- ggstats::gglikert(df, sort = sorted_projects)
p

内容的提问来源于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.25 19:27:22