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