値を動的に生成して、動的に取得する

assignで動的に値を生成して、getをうまく活用すれば取れる、が、あまりきれいではない。

> f <- function(){
+   for(i in 1:10){
+     assign(paste0("variable_", i), i)
+   }
+   variable_names <- ls(pattern="^variable_.*")
+   sapply(variable_names, function(variable_name){get(variable_name, envir=sys.frame(1))})
+ }
> f()
 variable_1 variable_10  variable_2  variable_3  variable_4  variable_5  variable_6  variable_7  variable_8  variable_9 
          1          10           2           3           4           5           6           7           8           9