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

R语言likert包分组李克特图如何保持题项按得分高低排序

R语言likert包分组绘图题项排序与未分组一致的解决方法

likert包绘图的题项顺序由likert对象中results数据框的Item列的因子水平决定。分组场景下ordered参数的排序逻辑与未分组场景不同,修改输入数据列顺序无效是因为函数内部会默认生成Item列的因子水平,不受输入列顺序影响。直接手动修改分组likert对象的Item因子水平即可实现自定义排序。

步骤1:提取未分组场景的目标题项顺序

先运行未分组的likert计算,提取对应排序结果:

library(likert)
library(dplyr)
data(pisaitems)

# 提取目标题项
items28 <- as.data.frame(pisaitems[, substr(names(pisaitems), 1, 5) == "ST24Q"])
# 计算未分组likert结果
p_ungroup <- likert(items28)
# 提取未分组绘图的题项顺序(从上到下)
target_order <- levels(p_ungroup$results$Item)

如果需要自定义排序,也可以直接手动指定该顺序,例如:
target_order <- c("ST24Q10", "ST24Q05", "ST24Q09", "ST24Q08", "ST24Q04", "ST24Q11", "ST24Q03", "ST24Q02", "ST24Q05", "ST24Q10", "ST24Q07")

步骤2:修改分组likert对象的因子水平

计算分组likert后,将Item列的因子水平替换为目标顺序:

# 添加分组变量
items28$groups <- as.factor(sample(c("A","B","C"), nrow(items28), replace = TRUE))
# 计算分组likert结果
p_group <- likert(items28[, !names(items28) %in% "groups"], grouping = items28$groups)
# 核心操作:重设Item列的因子水平
p_group$results$Item <- factor(p_group$results$Item, levels = target_order)

步骤3:绘图验证

直接调用plot函数即可得到与未分组排序一致的分组李克特图:

plot(p_group)

内容的提问来源于stack exchange,提问作者Elizabeth Brown

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 16:27:02