我尝试将ggplot
包装到一个可重复编码的函数中。我发现该函数有些奇怪的行为。请帮助解释其原因并提供解决方案。预先感谢。
我想要的是类似p
的东西,如下所示:
df <- mtcars
df$cyl <- as.factor(df$cyl)
p <- ggplot(data = df, aes(x = mpg, color = cyl)) +
geom_histogram() +
facet_wrap(.~ cyl) +
theme(legend.position= "none")
p
但是下面的graph
函数返回的结果是不同的。我想问题是facet_wrap
的值被覆盖。有任何想法吗?
graph <- function(df,n,k){
p <- ggplot(data = df, aes(x = df[[n]], color = df[[k]])) +
geom_histogram() +
facet_wrap(.~ df[[k]]) +
theme(legend.position= "none")
return(p)
}
graph(df,"mpg","cyl")