I'm trying to get a for-loop to print a sequence of concatenated strings. Each output should be comprised of a group ID and a subgroup ID. I would like for the output to only return the number of subgroups per group, rather than all of the possible subgroups for all groups.
## list the solution groups, must keep for name of output
chalSolutions <- c("c_2k", "c_6k", "c_9k", "c_13k")
## create cluster limit for each solution group
sol_limits <- c(2,6,9,13)
## nested loop which ideally steps through each solution group, returning
## a string for only those clusters whose ID is less than or equal to the
## limit for each group
for(sol in chalSolutions){
for(lim in sol_limits){
chalClusters <- c(1:lim)
for(i in chalClusters){
obsv <- paste0("results_list$",sol,"_",i,"_obsv")
print(obsv)
}
}
}
The output currently looks like this:
[1] "results_list$c_2k_1_obsv"
[1] "results_list$c_2k_2_obsv"
[1] "results_list$c_2k_1_obsv"
...
[1] "results_list$c_2k_6_obsv"
[1] "results_list$c_2k_1_obsv"
...
[1] "results_list$c_2k_9_obsv"
[1] "results_list$c_2k_1_obsv"
...
[1] "results_list$c_2k_13_obsv"
[1] "results_list$c_6k_1_obsv"
[1] "results_list$c_6k_2_obsv"
[1] "results_list$c_6k_1_obsv"
...
[1] "results_list$c_6k_6_obsv"
[1] "results_list$c_6k_1_obsv"
...
[1] "results_list$c_6k_9_obsv"
...
whereas it should look like this:
[1] "results_list$c_2k_1_obsv"
[1] "results_list$c_2k_2_obsv"
[1] "results_list$c_6k_1_obsv"
...
[1] "results_list$c_6k_6_obsv"
[1] "results_list$c_9k_1_obsv"
...
[1] "results_list$c_9k_9_obsv"
[1] "results_list$c_13k_1_obsv"
...
[1] "results_list$c_13k_13_obsv"