简体   繁体   中英

loop for character variable names in r

I have a list of variables, like a1, a2, a3. Then I want to do a loop for these variable, for instance, assign values. I tried paste, which just gave character like "a1", that was not what I am really look for. Can anyone provide a solution?

We can use mget to get the values in a list

lst <- mget(paste0("a", 1:3))

and then loop through the list and apply the function

lapply(lst, yourFunction)

The loop assigns values to all elements in your object. 'a1' gets value '2'; 'a2' gets value '3'; etcetera.

library(stringr)
val <- str_c("a", 1:3)

for (i in 1:length(val)){
  assign(val[i], i+1)
}
get(val[1])#2
get(val[2])#3
get(val[3])#4

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM