微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按子组从高到低排列李克特图中的项目,而不是按列顺序

如何解决按子组从高到低排列李克特图中的项目,而不是按列顺序

我在 R 中使用 likert 包来生成图,得到总体结果,然后按子组划分结果。

当我绘制没有任何分组的图时,项目从高到低显示

library(likert)
data(pisaitems)

items28 <- as.data.frame(pisaitems[,substr(names(pisaitems),1,5) == "ST24Q"])

p <- likert(items28)
plot(p)

Likert plot with items ordered from highest-rated to lowest-rated

但是当我按子组分解结果时,项目按数据中的列位置排序。添加删除ordered = TRUE 参数不会改变这一点。

items28 <- cbind(groups = as.factor(c("A","B","C")),items28)

pgroups <- likert(items28[2:12],grouping = items28$groups)

plot(pgroups,ordered = TRUE)

Likert plot broken down by subgroup,with items ordered as they appear in the data

如果我希望子组图与未分组图的顺序相同(即 ST24Q10 在顶部,然后是 S524Q05 等)而不是认的列顺序,我可以这样做吗?或者我是否需要手动重新排序 pgroups 中的列?

编辑:有趣的是,手动重新排序列似乎也不起作用?以下代码生成与上面相同的分组图。由于列已重新排序,因此我无法确定项目订单基于什么。

items28_g <- cbind(groups = as.factor(c("A",items28)

items28_g <- items28_g %>% select(1,11,6,9,8,4,12,3,2,5,10,7)

pgroups <- likert(items28_g[2:12],grouping = items28_g$groups)

plot(pgroups)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。