2017-08-28 67 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