[R] From object name strings to objects
Naresh Gurbuxani
n@re@h_gurbux@n| @end|ng |rom hotm@||@com
Wed May 20 02:21:36 CEST 2026
Very helpful
Thanks,
Naresh
Sent from my iPhone
> On May 19, 2026, at 11:34 AM, Rui Barradas <ruipbarradas using sapo.pt> wrote:
>
> Às 11:48 de 19/05/2026, Naresh Gurbuxani escreveu:
>> I want to stack several dataframes using their names as strings.
>> df1 <- data.frame(name = "normal", x = rnorm(5))
>> df2 <- data.frame(name = "uniform", x = runif(5))
>> df3 <- data.frame(name = "binomial", x = rbinom(5, 2, 0.5))
>> mynames <- c("df1", "df2", "df3")
>> newdf <- some_function(mynames)
>> # Desired result
>> newdf <- do.call(rbind, list(df1, df2, df3))
>> How can this be done?
>> Thanks,
>> Naresh
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> Hello,
>
> Something like this?
>
>
>
> fun <- function(df_names, pattern, envir = .GlobalEnv) {
> if(missing(df_names)) {
> if(missing(pattern)) {
> obj_names <- ls(envir = envir)
> df_list <- Filter(\(x) is(x, "data.frame"), mget(obj_names, envir = envir))
> } else {
> df_names <- ls(pattern = pattern, envir = envir)
> df_list <- mget(df_names, envir = envir)
> }
> } else df_list <- mget(df_names, envir = envir)
> res <- do.call(rbind, df_list)
> row.names(res) <- NULL
> res
> }
>
> df1 <- data.frame(name = "normal", x = rnorm(5))
> df2 <- data.frame(name = "uniform", x = runif(5))
> df3 <- data.frame(name = "binomial", x = rbinom(5, 2, 0.5))
> mynames <- c("df1", "df2", "df3")
>
> fun()
> fun(mynames)
> fun(pattern = "df")
>
>
> Hope this helps,
>
> Rui Barradas
>
More information about the R-help
mailing list