2017-02-14 3 views
0

Я пытаюсь изменить порядок оси x в этом квадратике.Как изменить порядок оси x в нескольких ящиках в R

[Теперь заказ лупу, микроскоп и видео, и я хочу, чтобы изменить его с микроскопом, лупой, то видео]

dataframe пример как этот

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 

Это boxplot я есть прямо сейчас boxplot1

Это мой код для 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") 

И я пробовал это, но результат неверен.

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

Другой вопрос - как изменить ось y для нескольких ящиков. У меня есть семь ящиков, но я хочу изменить ось у каждого маленького сюжета. boxplot2

(dataframe аналогично с выше одного, просто заменить умственная, физическая ... с угловыми данными)

код, который я имею

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") 

Пожалуйста, сделайте одолжение! Действительно ценю это!

+1

должны дать пример dataframe. Это может помочь в то же время http://www.cookbook-r.com/Graphs/. Разделы 3, 6, 7 и 9 помогут вам приблизиться к тому, что вы хотите. – thisisrg

+0

Просто добавленный образец данных, спасибо за ваш ответ –

ответ

1

Вам необходимо будет переопределить порядок факторов с помощью функции factor.

#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) 

Смотрите cookbook-r.com для получения дополнительной информации: http://www.cookbook-r.com/Manipulating_data/Changing_the_order_of_levels_of_a_factor/

+0

Спасибо за ответ! –