如何在R中的ggarrange中编写代码重复的多个图

是否可以有效地为ggarrange中的重复代码编写代码?我必须从z1一直到z16一直输入,所以当前的代码看起来很丑陋且很耗时。

ggarrange(z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14,z15,z16,nrow = 4,ncol = 4,labels = c(1:16))

我尝试过:

combined = noquote(paste0("z",1:16))

ggarrange(combined,labels = c(1:16))

Warning message:
In as_grob.default(plot) :
  Cannot convert object of class noquote into a grob.
zhanghuiqingIT 回答:如何在R中的ggarrange中编写代码重复的多个图

首先如何处理这16个不同的变量?如果您在列表中有这些相关的值,则在R中使用将更容易。名称中带有索引的变量作为标志,您可能没有以非常类似于R的方式进行操作。

我们可以使用mget()将其全部放入列表中,以“解决”问题。然后,我们可以将该列表传递给plotlist=的{​​{1}}参数。例如

ggarrange

使用combined <- mget(paste0("z",1:16)) ggarrange(plotlist=combined,nrow = 4,ncol = 4,labels = 1:16) 不会将字符串变成变量。这只是一个纯粹的修饰函数,它要求控制台在打印值时抑制引号。

本文链接:https://www.f2er.com/2670571.html

大家都在问