Раскрась каждый аспект разными значениями переменных - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть фрейм данных, подобный следующему:

df = data.frame(x = runif(100, 0, 1),
                y = runif(100, 1, 2),
                var1 = runif(100, 0, 1),
                var2 = runif(100, 0, 1),
                var3 = rep(c("a", "b"), 50))

Я хочу создать граненый график в ggplot2, который отображает одинаковые x против y в каждом фасете (scatterplot), но цвета по значениям var1, var2 и var3. В этом случае будет только 3 фасета, по одному на каждую из колонок окраски.

Как это могло быть сделано?

1 Ответ

0 голосов
/ 18 ноября 2018
plots = lapply(3:5, function(i){
    dt = df[,c(1, 2, i)]
    ggplot(data = dt, aes_string(x = names(dt)[1],
                                 y = names(dt)[2],
                                 color = names(dt[3]))) +
        geom_point()
})
library(gridExtra)
do.call(function(...){
    grid.arrange (..., ncol = 3)},
    plots)

Rplot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...