循环绘制多列qqnorm图时标题与对应图表不匹配的问题求助
问题解决:QQ图标题与列名不匹配的修复
你的问题出在循环中每次都把所有列名拼成了标题,因为colName是一个包含多个元素的向量,paste(colName)会直接把所有列名连在一起,导致每个图的标题都重复显示所有列名。
修正方案
可以通过两种方式调整代码:
方式一:遍历列名的索引
把循环改为遍历colName的索引,同时对应提取数据列:
par(mfrow = c(3,2)) loop.vector <- 3:7 # 指定要画QQ图的列 colName <- names(Final_data[loop.vector]) # 获取对应列名 for (idx in seq_along(colName)) { x <- Final_data[, loop.vector[idx]] qqnorm(x, main = colName[idx]) }
方式二:直接遍历列名(更直观)
直接用列名作为循环对象,同时提取对应列:
par(mfrow = c(3,2)) target_cols <- names(Final_data)[3:7] # 获取目标列的列名 for (col in target_cols) { x <- Final_data[[col]] qqnorm(x, main = col) }
说明
两种方式都能让每个QQ图的标题准确对应当前绘图的列名,解决你现在标题重复且不匹配的问题。
内容的提问来源于stack exchange,提问作者Zac Cotterell
相关产品推荐
相关产品推荐

