gpt4 book ai didi

r - 在R中使用mfrow:如何为每个子图赋予不同的y标签和x轴一个标签

转载 作者:行者123 更新时间:2023-12-02 01:01:38 25 4
gpt4 key购买 nike

我正在R中工作,因此必须进行许多箱形图绘制。这是组差异的可视化。我想重新标记x轴,使其只有一个标题而不是五个标题(每个子图一个)。我最大的问题是我还希望所有子图的y轴具有不同的标签。

这是我到目前为止尝试过的:

par(mfrow=c(1,5))
lapply(NEW8[,c("gawayf", "humf", "sgamesf", "swtoyf", "kissf")],
function(x) boxplot(x ~ NEW8$PAPA_p4_adhd,col=rainbow(2),
names=c("CN","ADHD"),
ylab=c("gawayf", "humf", "sgamesf", "swtoyf", "kissf")))

所有y标签都添加到每个子图中,因此每个子图中有5行y轴标签(gawayf,humf,sgamef,swtoyf,kissf),每个图都说明了用于创建箱线图的数据( PAPA_P4_ADHD)。
我希望每个地块在所有五个地块中仅具有相应的y轴标签,而x轴具有1个标签。

这是我当前的输出:

非常感谢你

最佳答案

代替lapply,请尝试mapply-这将允许向每个函数调用传递不同的参数:

par(mfrow=c(1,5))
myBox <- function(x, y, ...) boxplot(x ~ y, col=rainbow(2), names=c("CN", "ADHA"), ...)
mapply(myBox,
x = NEW8[,c("gawayf", "humf", "sgamesf", "swtoyf", "kissf")],
y = list(NEW8$PAPA_p4_adhd), # we make this a list so it has length(1)
ylab = c("gawayf", "humf", "sgamesf", "swtoyf", "kissf"),
xlab = "" # empty x-lab
)

对于x-lab,您将需要做一个技巧-开始一个新的空图,该图覆盖所有图,并仅添加x轴:
par(fig=c(0,1,0,1), oma=c(0,0,0,0), mar=par("mar"), new=TRUE)
plot.new()
title(xlab="my x-axis")

注意:我不是自己尝试运行此代码,如果此处不起作用-请发表评论并尝试解决该问题。

关于r - 在R中使用mfrow:如何为每个子图赋予不同的y标签和x轴一个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58033179/

25 4 0