В книге Хэдли Уикхема ggplot2 в главе 10.3 он ссылается на создание сюжетных функций. Я хочу сделать много похожих графиков, которые используют огранку, но я не могу ссылаться на столбец. Если все мои ссылки находятся в эстетике, тогда я могу использовать aes_string, и все работает. Facet_wrap, похоже, не имеет аналога.
library(ggplot2)
data(iris)
Это сюжет, который я хочу функционировать.
pl.flower1 <- ggplot(data=iris,
aes_string(x='Sepal.Length', y='Sepal.Width', color='Petal.Length')) +
geom_point() +facet_wrap(~Species)
Это работает, если я не граничу.
flowerPlot <- function(dat, sl, sw, pl, sp){
ggplot(data=dat, aes_string(x=sl, y=sw, color=pl)) + geom_point()
}
pl.flower2 <- flowerPlot(iris, sl='Sepal.Length', sw='Sepal.Width', pl='Petal.Length')
Что должно быть "sp" для двух строк ниже? Формула, строка? Возможно, весь аплоад ошибочен.
flowerPlotWrap <- function(dat, sl, sw, pl, sp){
ggplot(data=dat, aes_string(x=sl, y=sw, color=pl)) + geom_point() +facet_wrap(sp)
}
pl.flower3 <- flowerPlotWrap(iris, sl='Sepal.Length', sw='Sepal.Width', pl='Petal.Length', sp= ?????)
В дополнение к ответу я бы полюбил указатель на то, как кто-то подходит к этой проблеме?