ggplot/ally boxplots, использующие для цикла

Я пытаюсь построить матрицу ggplot, версия блочного графика работает просто отлично, но когда я пытаюсь сделать то же самое с ggplot, я с треском проваливаюсь

версия бокса:

par(mfrow=c(3, 3))
for (scale in c("POMS",
                "POMS_post",
                "DERS",
                "DERS_post",
                "REAPPRAISAL",
                "REAPPRAISAL_POST",
                "NEGATIV",
                "NEGATIVE_POST")) {
        boxplot(kata1[, scale] ~ Skupina, data=kata1, ylab=scale)
}

Результат версии сюжета:

версия ggplot:

# Testing
for (scale in c("POMS",
                "POMS_post",
                "DERS",
                "DERS_post",
                "REAPPRAISAL",
                "REAPPRAISAL_POST",
                "NEGATIV",
                "NEGATIVE_POST")) {
        ggally_box(kata1, aes(Skupina, kata1[, scale])) # This does not work...
}

Я думаю, что это не должно быть так сложно, но я застрял.

Спасибо за помощь!

1 ответ

Решение

После небольшой игры все получилось, хотя добавить все эти сюжеты довольно болезненно. Спасибо за помощь.

plots = NULL
for (scale in c("POMS",
                "POMS_post",
                "DERS",
                "DERS_post",
                "REAPPRAISAL",
                "REAPPRAISAL_POST",
                "NEGATIV",
                "NEGATIVE_POST")) {
        plots[[scale]] = ggally_box(kata1, aes_string("Skupina", scale, color = "Skupina"), 
                                    outlier.colour = "red",
                                    outlier.shape = 13)
        }

grid.arrange(plots[[1]],plots[[2]],
             plots[[3]],plots[[4]],
             plots[[5]],plots[[6]],
             plots[[7]],plots[[8]], ncol = 2)
Другие вопросы по тегам