Я искал решение в разных вопросах и пробовал то, что было предложено, но я не нашел решения, чтобы оно работало.
Каждый раз, когда я хочу запустить этот код, он всегда говорит:
Ошибка в plot.new (): поля слишком велики
, и я не знаю, как это исправить. Вот мой код:
par (mfrow = c(2,3), mar = c(10,2.75,10,1) + 0.1, mgp = c(2,0.5,0))
# Plot boxplots for each traits by visit (day 0, day 7 and day 42):
for(i in c(6,20,26)){
boxplot(all_vac.data[, i] ~ all_vac.data[,"Visit"],
main = paste0(colnames(all_vac.data)[i]),
main.cex = 0.3, # make the titles smaller
ylim = c(0, 1.4 * max(all_vac.data[,i], na.rm = T)),
ylab = ifelse(i > 2, "% flow parameter",
expression("log"["10"]*" [cytokine]/pg.mL"^-1)),
xlab="Days", names = c("0", "7", "42"))
# Run paired t-test between visit 0 (day 0) and visit 1 (day 7)
# and add t-test P values to the boxplots:
text(x = 1.5, y = max(all_vac.data[,i], na.rm = T) * 1.15,
signif( x = t.test(
all_vac.data[ all_vac.data$Visit %in% c(0), i],
all_vac.data[ all_vac.data$Visit %in% c(1) ,i],
exact = F, paired=TRUE)$p.value, digits = 2))
# Run paired t-test between visit 1 (day 7) and visit 2 (day 42)
# and add t-test P values to the boxplots:
text(x = 2.5, y = max(all_vac.data[,i], na.rm = T) * 1.3,
signif( x = t.test(
all_vac.data[ all_vac.data$Visit %in% c(1), i],
all_vac.data[ all_vac.data$Visit %in% c(2) ,i],
exact = F, paired=TRUE)$p.value, digits = 2))
# Add lines to the boxplots:
lines(x=c(1,2),
y = c(max(all_vac.data[,i], na.rm = T) * 1.10,
max(all_vac.data[,i], na.rm = T) * 1.10), lwd = 2)
lines(x=c(2,3),
y = c(max(all_vac.data[,i], na.rm = T) * 1.25,
max(all_vac.data[,i], na.rm = T) * 1.25), lwd = 2)
cat(i)
}
mtext("C", side = 3, adj = -3.0, line = 4.5, cex = 1.5)