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:5
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:]]+$")
If you just want to name a list with names from the environment that share something, in this case 'df':
names(list.1) <- grep("df",ls(),value=TRUE)
If you want to push your environment into a list:
list.1 <- globalenv()
list.1 <- as.list(list.1)
To reverse the process see ?list2env