2017-08-28 80 views
0

使用此页作为参考http://jason.bryer.org/likert/我发现当我用自己的数据复制Bryers代码时,likert因子水平的顺序是错误的。这似乎并没有发生在演示代码,但与我的。用Likert软件包重新排序因子水平 - R

plot(lexam, centered = FALSE, wrap = 30) 

我的阴谋获取图像,你看到

我试过没有成功以下修改。

levels <- c("Strongly Agree", "Agree", "Neutral", "Disagree","Strongly Disagree") 
lexam[] <- lapply(lexam, function(x) factor(x, levels = levels)) 

任何人都可以建议我能做些什么来重新排列剧情的因子水平吗?您应该在链接图像中看到问题出在哪里。 Incorrect Likert Ordering

有趣的是,我在其他文章中看到过相同的问题,其实并不是讨论的问题。例如Plot Percents with Likert Package - Doesn`t work when grouping即使它不是讨论的主题,也可以看到相同的问题。

+0

看来你的问题比较关心的是R中比用'likert'包重新排序的因素。 R中排序因子的[主题](https://stackoverflow.com/search?q=reorder+factors+%5Br%5D)与本网站一样古老,因此您可以从SO中提供的许多解决方案中选择一个。 – Konrad

回答

0

您可以使用ordered函数docs来创建一个有序因子。另见本tutorial

levels <- c("Strongly Agree", "Agree", "Neutral", "Disagree","Strongly Disagree") 
ordered_factor <- ordered(x, levels = levels) 
+0

Thanks @Patrick。愚蠢的问题,但我怎么然后使用创建的订购因子项目进行绘图? –

+0

@ H.R.Badger对不起,我的错误 - 你可以将它作为一列添加到你的'data.frame'中,或者覆盖你的旧列。例如如果你的'data.frame'是* lexam *和列名* rating *,你可以做'lexam ['rating'] < - ordered(lexam ['rating'],levels = levels)'' – patrick