0
我想在循环中创建几个图(使用ggplot2),我正在使用下面的函数。如何在函数参数中设置ggplot参数
我使用的数据设置光圈和增加了一个叫做“ran_fact随机因子变量,因此该数据集现在已经四个数字变量和两个因素(种类和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)
请正确缩进您的代码。我为你修好了。 –
如果您可以更清楚地了解期望的输出是什么,这将有所帮助。你想如何调用这个函数,你想得到什么结果? – MrFlick
“select_if(is.numeric)'返回因子的例子在哪里?如果我运行sapply(虹膜,类)'我看到Species是一个因素,如果我运行'名称(dplyr :: select_if(iris,is.numeric))'它不会被返回。 – MrFlick