在 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))
我将玩具 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))