Home > Blockchain >  How to loop over variables in R?
How to loop over variables in R?

Time:01-05

I'm trying to automate the generation of several segmented bar plots. There are thirteen variables that I'm trying to loop over, named as per the following convention: mc_q#. I'm trying the following code, but all it does is generate a plot called px and then stop running:

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")
}

Will be grateful for any help!!

CodePudding user response:

You may create a list of plots -

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]] would return the 1st plot, result_px[[2]] the 2nd plot and so on.

  •  Tags:  
  • Related