2013-08-24 20 views
18

ho un data.frame come mostrato di seguito:livelli di fattore riordino in frame di dati

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

La colonna compito richiede solo sei valori diversi, che sono trattati come fattori, e sono ordinate per R come: "indietro", "giù", "avanti", "sinistra", "destra", "su".

In ogni caso, ho bisogno di questi ordinati come: "su", "giù", "sinistra", "destra", "fronte", "indietro". In questo modo, quando utilizzo questi dati in ggplot, le attività correlate (come "su" e "giù") vengono tracciate una accanto all'altra.

Come può cambiare l'ordine dei livelli del fattore "compito"?

+0

c'è il 'livelli (x) <- sintassi value' (vedi 'livelli?). È questo che vuoi dire? – Frank

+1

Se hai appena digitato '? Factor', troverai una soluzione a questo. – geotheory

risposta

49

Assumendo che il dataframe è mydf:

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

Grazie. Ho anche scoperto che, allo scopo di modificare l'ordine per il grafico con ggplot2, è possibile utilizzare la funzione scale_x_discrete e impostare il parametro dei limiti sull'ordine appropriato richiesto per il fattore nell'asse x. – siva82kb

+1

prova anche 'mydf $ task <- ordinato (mydf $ task levels = c (" up "," down "," left "," right "," front "," back ")' – user3357059

Problemi correlati