如何在函数参数

时间:2017-05-07 19:40:09

标签: r ggplot2 function

我正在尝试在循环中创建几个图(使用ggplot2),我正在使用下面的函数。

我使用了虹膜数据集并添加了一个名为" ran_fact的随机因子变量。所以数据集现在有四个数值变量和两个因子(Species和ran_fac)。

此时循环遍历数值变量并为每个变量创建一个图。在循环内手动设置两个因子变量(如图中的x轴和颜色),这使得它不太通用。我想知道是否可以将x轴和颜色选项设置为函数参数,如果是,可以如何进行?

提前谢谢。

另外,作为一个附带问题,select_if(x, is.numeric)下面似乎没有从数据集中删除因子变量。

library(datasets)
library(dplyr)
library(ggplot2)
library(beeswarm)

data(iris)
iris$ran_fac <- as.factor(c("A", "B", "C", "D", "E"))

plotFunc <- function(x, na.rm = TRUE,...) {
    plot_list = list()
    nm <- select_if(x, is.numeric)
    nm <- names(x)
    for (i in seq_along(nm)) {
        plots <-ggplot(x,aes_string("ran_fac", nm[i], color="Species")) + geom_quasirandom() + geom_boxplot()
        plot_list[[i]] = plots
        print(plots)
        ggsave(plots,filename=paste("myplot",nm[i],".png",sep=""))
    }
}

plotFunc(iris)

Beeswarm plot

0 个答案:

没有答案