Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 通过应用函数生成多个ggplot盒形图_R_Ggplot2_Apply - Fatal编程技术网

R 通过应用函数生成多个ggplot盒形图

R 通过应用函数生成多个ggplot盒形图,r,ggplot2,apply,R,Ggplot2,Apply,我想知道是否有可能生成一组箱线图,类似于使用apply函数生成的嵌套循环组合 这可能不可能/不必要,但我认为这应该是可能的,我就是不知道该怎么做 我需要能够绘制此图,以查看100个因子如何与一个变量进行比较(mtcars$mpg) 车头(mtcars) (我在8:11){ 对于(j在8:11中){ 如果(i!=j){ 标题=粘贴(名称(mtcars)[i],名称(mtcars)[j], sep=“/”) p将if块放入函数: plotGG <- function(i,j) { i

我想知道是否有可能生成一组箱线图,类似于使用apply函数生成的嵌套循环组合

这可能不可能/不必要,但我认为这应该是可能的,我就是不知道该怎么做

我需要能够绘制此图,以查看100个因子如何与一个变量进行比较(
mtcars$mpg

车头(mtcars)
(我在8:11){
对于(j在8:11中){
如果(i!=j){
标题=粘贴(名称(mtcars)[i],名称(mtcars)[j],
sep=“/”)

p将if块放入函数:

plotGG <- function(i,j) 
  {
  if (i != j) { ... } else{ ... }
 }
它是有效的

由于
ggplot
的作用域问题,您的代码将无法工作。但您可以在此处查看解决方案:

编辑: 您可以根据需要完成包装:

multiPlotGG <- function(l1,l2) {
 mapply(plotGG,rep(l1,each = length(l2)),rep(l2,length(l1)))
}
multiPlotGG(8:11,8:11)

multiPlotGG
mapply
在您的答案中,将只生成四个i=jThanks@MaratTalipov的组合。之前的解决方案是指向正确的方向。使用包装器更新。干杯,伙计们:)应用函数对我来说真的不直观!
mapply(plotGG,8:11,8:11)
multiPlotGG <- function(l1,l2) {
 mapply(plotGG,rep(l1,each = length(l2)),rep(l2,length(l1)))
}
multiPlotGG(8:11,8:11)