Создание нескольких графиков в ggplot по коэффициенту

У меня есть набор данных, который я хочу сгенерировать несколько графиков на основе одного из столбцов. То есть, я хочу иметь возможность использовать ggplot для создания отдельного графика для каждого разнообразия этого фактора.

Вот несколько быстрых данных:

Variety = as.factor(c("a","b","a","b","a","b","a","b","a","b")
Var1 = runif(10)
Var2 = runif(10)
mydata = as.data.frame(cbind(Variety,Var1,Var2))

Я хотел бы сгенерировать два отдельных графика Var1 над Var2, один для Variety A, второй для Variety B, желательно в одной команде, но если есть способ сделать это, не разбивая таблицу, это будет хорошо.

Ответ 1

Вы можете использовать facet_grid или facet_wrap для разделения диаграмм по факторам.

ggplot(mydata, aes(Var1, Var2)) + geom_point() + facet_grid(~ Variety)

или, на отдельных графиках, просто используйте простой цикл

for (var in unique(mydata$Variety)) {
    dev.new()
    print( ggplot(mydata[mydata$Variety==var,], aes(Var1, Var2)) + geom_point() )
}