2015-06-28 5 views
0

Интересно, знает ли кто-нибудь, как выполнить этот код, но каждый уровень отдельно отображается.Есть ли способ построить несколько уровней переменных в R в отдельном графе с помощью простого кода?

sites<-levels(OrchardSprays$treatment) 
par(mfcol=c(4,2)) 
for (i in 1:length(sites)) { 
    here_tmp<-sites[i] 
    plot(droplevels(subset(OrchardSprays, Site = here_tmp, select = c(treatment,decrease)))) 
    } 

this is the output of the code, but they are all the same. I want to print different graphics with each level in treatment

Это выход, что она дает мне. Но мне нужны разные графики разных уровней. Я не знаю, почему он дает мне одни и те же графики ...

ответ

3

Я согласен с @SimonG, что непонятно, почему вы хотите, чтобы каждый уровень отображался на отдельном графике, но вот способ сделать это с помощью ggplot2, который имеет приятную систему для создания графиков каждого уровня переменный без особого дополнительного кода:

library(ggplot2) 

ggplot(OrchardSprays, aes(treatment, decrease)) + 
    geom_boxplot() + 
    facet_wrap(~treatment, scales="free_x", ncol=2) 

Чтобы поставить все присущ рефлективные, вербальные одном графика, просто удалить последнюю строку:

ggplot(OrchardSprays, aes(treatment, decrease)) + 
    geom_boxplot() 
+0

Это тоже работает! Большое спасибо. –

1

Ваша проблема заключается в том, как вы используете subset. Во-первых, в наборе данных нет переменной с именем Site. Во-вторых, Site = here_tmp не является логическим выражением.

Предполагая, что вы имели в виду treatment вместо Site, попробуйте следующее:

sites <- levels(OrchardSprays$treatment) 
par(mfcol=c(4,2)) 
for (i in 1:length(sites)) { 
    here_tmp<-sites[i] 
    plot(droplevels(subset(OrchardSprays, treatment == here_tmp, 
     select = c(treatment,decrease)))) 
} 

Я не совсем уверен, хотя, если это ваш желаемый результат, потому что, лично я не вижу причин, чтобы поместить их в отдельные участки.

Дайте мне знать, если это было полезно!

+1

Спасибо большого Это потрясающе! Да, я знаю, что это глупо, но я не использую эту базу данных. Это был просто пример. Я использую несколько сайтов изучения с различными видами в них, и я хочу быстро их отображать в разных графиках. Я мог бы сделать это много времени и с разной степенью уровней. Вот почему он не очень хорошо разбирается в этом наборе данных. Еще раз спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^