我想使用Likert包,也可以按变量分组并绘制结果。问题是,我在不同的层次,我想要形象化。有办法绕道吗?
一个简单的例子来说明我的问题:
library(reshape)
library(likert)
foo <- data.frame(car = rep(c("Toyota", "BMW", "Ford"), times = 10),
satisfaction = c(1,3,4,7,7,6,2,3,5,5,5,2,4,1,7),
quality = c(1,1,3,5,4,3,6,4,3,6,6,1,7,2,7),
loyalty = c(1,1,3,5,4,3,9,4,3,10,6,1,7,2,8) )
foo[1:4] <- lapply(foo[1:4], as.factor)
likt <- likert(foo[,c(2:4)], grouping = foo$car)
plot(likt)错误信息:
Error in likert(foo[, c(2:4)], grouping = foo$car) :
All items (columns) must have the same number of levels发布于 2014-11-21 13:43:34
和第一个答案一样,但现在是一个群体的函数。
foo[2:4] <- lapply(foo[2:4], factor, levels=1:10)
likt <- likert(foo[,c(2:4)], grouping = foo$car)
plot(likt)

发布于 2016-07-31 05:04:49
好吧,在我得到更多的声誉点之前,我不能补充评论,所以我打破了“回应其他答案”的指导--但我不想让其他像我这样的R新手浪费时间,我只想弄清楚原来问题中的台词:
library(reshape)破坏了Ruthger提供的答案。
因此,生成Ruthger绘图所需的代码只是(我用R3.3.1测试了它,并按照https://github.com/jbryer/likert底部的likert安装说明进行了测试):
library(likert)
foo <- data.frame(car = rep(c("Toyota", "BMW", "Ford"), times = 10),
satisfaction = c(1,3,4,7,7,6,2,3,5,5,5,2,4,1,7),
quality = c(1,1,3,5,4,3,6,4,3,6,6,1,7,2,7),
loyalty = c(1,1,3,5,4,3,9,4,3,10,6,1,7,2,8) )
foo[2:4] <- lapply(foo[2:4], factor, levels=1:10)
likt <- likert(foo[,c(2:4)], grouping = foo$car)
plot(likt)发布于 2014-11-21 12:49:53
实际上,您的底层是相同的,您只需告诉您的数据框架它们是存在的:
foo[2:4] <- lapply(foo[2:4], factor, levels=1:9)然后你就可以阴谋了。(但是grouping的争论是如何运作的仍然是一个谜-在这个包的帮助下还不清楚。
likt <- likert(foo[,c(2:4)])
plot(likt)

https://stackoverflow.com/questions/27061286
复制相似问题