2013-08-24 98 views
18

我有data.frame,如下所示:重新排序因子水平

task measure 
right m1 
left m2 
up  m3 
down m4 
front m5 
back m6 
. 
. 
. 

任務列只需要六個不同的值,其被視爲因素,以及由R爲被排序: 「後退」,「下」,「前」,「左」,「右」,「上」。我需要他們的順序是:「上」,「下」,「左」,「右」,「前」,「後」。因此,當我在ggplot中使用這些數據時,相關任務(如「上」和「下」)被繪製在一起。

如何更改因子「任務」級別的排序?

+0

還有就是'水平(X)< - value'語法(見'levels'?)。你是這個意思嗎? – Frank

+1

如果您剛輸入'?factor',您可以找到解決方案。 – geotheory

回答

49

假設你的數據幀是是myDF:

mydf$task <- factor(mydf$task, levels = c("up", "down", "left", "right", "front", "back")) 
+7

謝謝。我還發現,只是爲了使用ggplot2更改圖的排序,您可以使用函數scale_x_discrete並將限制參數設置爲x軸中因子所需的適當順序。 – siva82kb

+1

也嘗試'mydf $ task < - 命令(mydf $任務級別= c(「上」,「下」,「左」,「右」,「前」,「後」)' – user3357059