====== Impostare un ordinamento per variabili categoriche (fattori) ====== Spesso di ha a che fare con dati di tipo categorico o fattori che possono possedere un ordine naturale diverso da quello lessiografico, vedi ad esempio un range di età; se si vuol rappresentare un diagramma di frequenza di questi fattori sarà necessario ordinarli in maniera opportuna. Per far ciò è possibile usare la funzione //ordered// (che non è altro che un alias della funzione //factor// così nominata per retro compatibilità) Supponiamo che la nostra matrice dei dati si chiami //dati// e che al suo interno abbia una variabile di tipo factor di nome //eta//. str(dati) ....... $ eta : Factor w/ 7 levels "18-24","25-34",..: 2 2 1 2 2 2 2 1 3 2 ... ...... > levels(dati$eta) [1] "18-24" "25-34" "35-44" "45-54" "55-64" "65 e oltre" [7] "Minore di 18" disegnando un diagramma di frequenza a barre queste utilizzerebbero l'ordine lessiografico dei fattori, mentre in realtà ciò che serve è un ordine "naturale" ottenibile "suggerendo" quale sia l'ordine dei fattori. > dati$eta <- ordered(dati$eta, levels = c("Minore di 18", "18-24","25-34" , "35-44" , "45-54", "55-64" , "65 e oltre" ) ) Se visualizziamo adesso la versione stringata di //dati// notereno che la variabile //eta// è passata da ''factor'' ad ''ord.factor'' e che i fattori adesso hanno un ordine diverso str(dati) $ eta : Ord.factor w/ 7 levels "Minore di 18"<..: 3 3 2 3 3 3 3 2 4 3 .. se visualizzaimo i livelli (valori) del fattore //eta// adesso questi saranno ordinati in base all'ordine prescelto levels(dati$eta) [1] "Minore di 18" "18-24" "25-34" "35-44" "45-54" "55-64" [7] "65 e oltre"