在 R 中使用 map_dfr() 重建数据帧

Reconstructing dataframes with map_dfr() in R

我将玩具 iris 数据集根据他们拥有的 类 分为 3 个部分。

setosa <- read_csv("iris-setosa.csv") %>%
  mutate(Species = "setosa")
versicolor <- read_csv("iris-versicolor.csv") %>%
  mutate(Species = "versicolor")
virginica <- read_csv("iris-virginica.csv") %>%
  mutate(Species = "virginica")
df_iris <- bind_rows(setosa, versicolor, virginica)
df_iris

我想使用 map_dfr() 重新创建这个 df,因为我读到它可以用更简单的方式完成。下面的我都试过了,还是不能完全写出来。

species <- c("setosa", "versicolor", "virginica")
map_dfr(species, ~ df_iris)

如果我们想根据对象名称作为字符串重新创建 'df_iris' 和 map,请在循环

中使用 get
df_iris2 <- map_dfr(species, get)

get是一个base R函数returns或者根据对象名作为字符串从全局环境中获取对象值


bind_rows

df_iris3 <- bind_rows(mget(species))