2017-03-21 3 views
0

Ich las meine PA.csv in R.
Aber hier ist ein Problem:
Warum meine Monatsstufen so bestellen?R Daten-Manipulation Monat Ebenen

levels(PA$Month) 
[1] "1" "10" "11" "12" "2" "3" "4" "5" "6" "7" "8" "9" 

Wenn ich diese Daten verwenden, ein Grundstück von ggplot2 zu zeichnen, und x-Achse ist PA$Month, kann die Grafik zeigen, aber die Werte für jeden Monat sind misordered.
Um genauer zu sein, zeigt die Reihenfolge der Handlung 1, 10, 11, 12, 2, 3, ..., 9.
Wie das herauszufinden?

$ Month  : Factor w/ 12 levels "1","10","11",..: 1 5 6 7 8 9 10 11 12 2 ... 

sehr zu schätzen wissen.

+1

Sie sind alphabetisch sortiert. Sie können 'as.numeric (as.character (PA $ Month))' verwenden, um dies zu beheben, aber am besten, um den Importschritt zu beheben –

+0

Ich verstehe nicht, was Sie "am besten, um den Importschritt zu beheben". danke –

+0

@RichardTelford Wenn ich das Format beim Importieren von Daten so einstelle, ist es OK? PA <- read.csv ("PA.csv", Überschrift = T, colClasses = "Monat" = "numerisch") –

Antwort

0
exempleDf <- data.frame(month = as.character(c(10:12,1:9)), value= runif(12)) 
factor(exempleDf$month) 
library(ggplot2) 
# plot with level in wrong order 
qplot(x = month, y = value, data = exempleDf) 
# a simple way to reorder factor 
exempleDf$month <- as.factor(as.numeric(exempleDf$month)) 
factor(exempleDf$month) 
# plot with level in right order 
qplot(x = month, y = value, data = exempleDf) 
factor(exempleDf$month)