R如何从列表中提取数据集?

问题描述 投票:0回答:2

由于使用map()函数,我将以下数据帧存储在列表中:

enter image description here

如何从列表中提取六个数据框?我想这样做是因为我想给每一列一个不同的数据帧名称,然后将所有数据存储在一个csv文件中?还是我不必从列表中提取DFS?

r list dataframe
2个回答
0
投票

您有几个选择

假数据

library(tidyverse)

df <- tibble(a = 1:9,b = letters[1:9])


x <- list(df,df,df,df)

您可以绑定dfs并仅创建一个

bind_rows(x)

您可以在所有df上执行逻辑

logic <- . %>% 
  mutate(c = a*3)

x %>% map(logic)

您也可以在列表中命名dfs

names(x) <- letters[1:4]

bind_rows(x,.id = "id")

0
投票

我不确定您要寻找的是什么,因此下面只是猜测您的目标而已:

  • 如果要在全局环境中将数据框提取为对象,则可以这样:
list2env(setNames(dats1,paste0("df",seq(dats1))),envir = .GlobalEnv)
  • 假设您为列表中不同数据框的两列指定名称"col1""col2",也许可以帮到您
dats1 <- lapply(dats1, setNames, c("col1","col2"))
© www.soinside.com 2019 - 2024. All rights reserved.