尝试在 R 中使用“for”绘制多个图形,但必须手动调用,为什么? - 故障排除说明

Attempting to plot multiple graphs using `for` in R, but had to do call manually why? - troubleshooting explanation

我试图使用 for 将多个箱线图绘制到我的数据的不同变量。我能够生成要生成的图,但它只能手动进行。因此,例如我将执行 for 循环并创建一个图形,然后我必须一次又一次地执行它,等等。这违背了我首先制作 for 循环的目的.我想知道这是软件行为还是我在创建绘图时做错了什么?这是重现事物的代码:

> dput(head(Job_Proficiency, 10))
structure(list(job_proficiency = c(88, 80, 96, 76, 80, 73, 58, 
116, 104, 99), T_1 = c(86, 62, 110, 101, 100, 78, 120, 105, 112, 
120), T_2 = c(110, 97, 107, 117, 101, 85, 77, 122, 119, 89), 
    T_3 = c(100, 99, 103, 93, 95, 95, 80, 116, 106, 105), T_4 = c(87, 
    100, 103, 95, 88, 84, 74, 102, 105, 97)), row.names = c(NA, 
-10L), class = c("tbl_df", "tbl", "data.frame"))
> for (i in seq(along = Job_Proficiency)){
+     with(data = Job_Proficiency, Boxplot(y = Job_Proficiency[i], xlab = names(Job_Proficiency)[i]))
+ }

因此,如前所述,要生成图表,我必须手动执行 for 循环。有没有办法纠正这个问题?我曾设想执行一次 for 循环并生成所有五个图形。

编辑:为澄清起见,我使用 R-Studio 作为我的 IDE。我还使用了 car

中的 Boxplot() 函数

如果使用 R-GUI,默认情况下循环的每次迭代都会覆盖绘图显示,因此只有最后一个可见。 如果使用 RStudio,将创建所有 5 个图,您可以在绘图窗格中在它们之间导航。

或者如果您想同时查看所有五个图表,可以使用 par 函数告诉 R 并排绘制多个图表。

Job_Proficiency <- structure(list(job_proficiency = c(88, 80, 96, 76, 80, 73, 58, 
                                          116, 104, 99), T_1 = c(86, 62, 110, 101, 100, 78, 120, 105, 112, 
                                                                 120), T_2 = c(110, 97, 107, 117, 101, 85, 77, 122, 119, 89), 
                      T_3 = c(100, 99, 103, 93, 95, 95, 80, 116, 106, 105), T_4 = c(87, 
                                                                                    100, 103, 95, 88, 84, 74, 102, 105, 97)), row.names = c(NA, 
                                                                                                                                            -10L), class = c("tbl_df", "tbl", "data.frame"))
par(mfrow = c(1, 5))

for (i in seq(along = Job_Proficiency)){
      boxplot(x = Job_Proficiency[i], xlab = names(Job_Proficiency)[i])
}

par(mfrow = c(1, 5)) 基本上告诉它在 1 行乘 5 列的网格上绘制图表。