【问题标题】:How to loop over variables in R?如何遍历R中的变量?
【发布时间】:2021-12-29 08:41:40
【问题描述】:
我正在尝试自动生成多个分段条形图。我试图循环遍历十三个变量,按照以下约定命名:mc_q#。我正在尝试以下代码,但它所做的只是生成一个名为 px 的绘图,然后停止运行:
for (x in 1:13) {
px <- ggplot(tct_tqi,
aes(x = mc_qx,
fill = test_category)) +
geom_bar(position = "fill") +
labs(fill="TCT mark band")
}
将不胜感激任何帮助!
【问题讨论】:
标签:
r
loops
for-loop
ggplot2
【解决方案1】:
您可以创建一个地块列表 -
library(ggplot2)
variables <- paste0('mc_q', 1:13)
result_px <- vector('list', length(variables))
for (i in seq_along(variables)) {
result_px[[i]] <- ggplot(tct_tqi,
aes(x = .data[[variables[i]]], fill = test_category)) +
geom_bar(position = "fill") +
labs(fill="TCT mark band")
}
result_px[[1]] 将返回第一个图,result_px[[2]] 返回第二个图,依此类推。