我正在尝试使用 ggplot2 创建绘图以标准化许多类似绘图的创建。考虑到您可以堆叠多个选项,使用 theme()、stat_*() 或 geom_*() 和 + 运算符,您如何将其包装在一个函数中?
我想创建一个函数来绘制数据框的各个部分,例如:
library(ggplot2)
test<-function(fdata,fx){
p<-ggplot(fdata,aes(x=fx,y=mpg))+geom_point()
print(p)};
test(mtcars,wt)
返回错误:
Error in eval(expr, envir, enclos) : object 'fx' not found
但是将美学定义更改为局部范围的变量(例如 x=fx 到 x=wt)有效,但不会使用函数的第二个选项“fx”:
library(ggplot2)
test<-function(fdata,fx){
p<-ggplot(fdata,aes(x=wt,y=mpg))+geom_point()
print(p)};
test(mtcars,wt)
如何编写函数以从数据框中的不同变量创建图?
例如,我如何编写函数测试以便我可以多次调用以获得类似的图,例如:
test(mtcars,'wt') #scatter plot of wt x mpg
test(mtcars,'disp') #scatter plot of disp x mpg
test(mtcars,'hp') #scatter plot of hp x mpg