Use object names as list names in R
list, naming, r
Solution
Find the names, then call `mget`. If there is a pattern to the names of each individual variable, then this is straightforward.
var_names <- paste0("df", 1:3)
mget(var_names, envir = globalenv()) #or maybe envir = parent.frame()
If the naming system is more complicated, you can use regular expressions to find them, using something like
var_names <- ls(envir = globalenv(), pattern = "^df[[:digit:]]+$")
Problem
Of course I could name the objects in my list all manually like this: ``` #create dfs df1<-data.frame(a=sample(1:50,10),b=sample(1:50,10),c=sample(1:50,10)) df2<-data.frame(a=sample(1:50,9),b=sample(1:50,9),c=sample(1:50,9)) df3<-data.frame(a=sample(1:50,8),b=sample(1:50,8),c=sample(1:50,8)) #make them a list list.1<-list(df1=df1,df2=df2,df3=df3) ``` But it makes a lot of work if I have let's say 50 objects with long names. So is there any way to automate this and make the names inside the list the same as the outside objects?