2017-02-14 17 views
0

Ich versuche, die Reihenfolge X-Achse in diesem Boxplot zu ändern.So ändern Sie die Reihenfolge der X-Achse in mehreren Boxplots in R

[Jetzt ist die Reihenfolge Lupe, Mikroskop und Video, und ich möchte es Mikroskop ändern, Lupe dann video]

Die Datenrahmen Beispiel wie dieses ist zur

Label  Mental Physical Temporal Performance Effort Frustration sum 
Microscope 10  10  10  10  10  10 60 
Microscope 10  10  10  10  10  10 60 
Loupe  20  20  20  20  20  20 120 
Loupe  20  20  20  20  20  20 120 
Video  15  15  15  20  20  20 105 
Video  15  15  15  20  20  20 105 

ist boxplot ich habe jetzt boxplot1

Dies ist mein Code für ggplot

mydata <- read.csv("boxplotyiyu2.csv",header=TRUE) 
    dfm <- melt(mydata, id.var = "Label") 
    ggplot(data = dfm, aes(x=variable, y=value)) + geom_boxplot(aes(fill=Label),width=0.5)+ xlab("Demand") + ylab("NASA-TLX Scores") 

Und ich habe das versucht, aber das Ergebnis ist nicht korrekt.

dfm$variable <- factor(dfm$variable,levels = c("Microscope","Loupe","Video")) 

Eine andere Frage ist, wie die y-Achse für mehrere Boxplots zu modifizieren. Ich habe diese sieben boxplots zusammen, aber ich möchte die y-Achse für jede kleine Handlung ändern. boxplot2

(Der Datenrahmen ist ähnlich mit über einem, nur ersetzen geistige, körperliche ... mit Winkeldaten)

Der Code, den ich habe, ist

df.m <- melt(mydata, id.var = "Label") 
    p <- ggplot(data = df.m, aes(x=variable, y=value)) 
    p <- p + geom_boxplot(aes(fill=Label)) 
    p <- p + facet_wrap(~ variable, scales="free") 
    p <- p + xlab("Angle") + ylab("Degree") 

Bitte tu mir einen Gefallen! Schätze es wirklich!

+1

Haben Sie ein Beispiel Datenrahmen zu geben. Dies kann in der Zwischenzeit http://www.cookbook-r.com/Graphs/ helfen. Die Abschnitte 3, 6, 7 und 9 bringen Sie näher an Ihre Wünsche. – thisisrg

+0

Gerade Beispieldatenrahmen hinzugefügt, danke für Ihre Antwort –

Antwort

1

Sie müssen die Reihenfolge der Faktoren mit der factor Funktion neu definieren.

#Sample data 
Label<-c("Microscope", "Microscope", "Loupe", "Loupe", "Video", "Video") 
mydata<-data.frame(Label) 

#print out 
levels(mydata$Label) 

mydata$Label<-factor(mydata$Label, levels=c("Microscope", "Loupe", "Video")) 
#print out 
levels(mydata$Label) 

Siehe cookbook-r.com für weitere Informationen: http://www.cookbook-r.com/Manipulating_data/Changing_the_order_of_levels_of_a_factor/

+0

Danke für die Antwort! –

Verwandte Themen