Вместо lapply
try 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")
ПРИМЕЧАНИЕ. Я не пытался запустить этот код самостоятельно, если что-то здесь не работает - оставьте комментарий ипостараюсь заняться этим.