This goal is flawed and excessively complicated to accomplish... what if
someone does this:
x <- 5
mynames <- c("df1", "df2", "x")
then they try rbinding a scalar with the data frames.
Just re-frame your question to pull source data frames from a dedicated list of
possible distributions instead and it becomes simple to implement and easy to
re-use:
dists <- list()
dists [["normal"]] <- data.frame(name = "normal", x = rnorm(5))
dists [["uniform"]] <- data.frame(name = "uniform", x = runif(5))
dists [["binomial"]] <- data.frame(name = "binomial", x = rbinom(5, 2, 0.5))
mynames <- c("normal", "binomial")
some_function <- function(pool, nms) {
do.call(rbind, pool[nms])
}
newdf <- some_function(dists, mynames)
newdf
On May 19, 2026 3:48:56 AM PDT, Naresh Gurbuxani <[email protected]>
wrote:
>
>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
>
>______________________________________________
>[email protected] 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.
--
Sent from my phone. Please excuse my brevity.
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.