gpt4 book ai didi

r - 加入列表列表中的数据

转载 作者:行者123 更新时间:2023-12-04 09:37:42 24 4
gpt4 key购买 nike

我正在使用 readxl 包从多个 excel 文件中导入数据,并在我的脚本中创建了一个函数,以便我只导入我需要的特定工作表

read_excel_sheets <- function(excelDoc) {
sheets <- readxl::excel_sheets(excelDoc)
sheets <- sheets[4:6]
x <- lapply(sheets, function(X) readxl::read_excel(excelDoc, sheet = X))
return(x)
}
#load files in folder
rawfiles <- list.files()
IMPORT <- lapply(rawfiles, FUN = read_excel_sheets)

将我文件夹中的文件加载到我的脚本中后,IMPORT 变成了一个列表 [10],其中包含列表 [3],基本上是列表中的列表。

不幸的是,我不能使用 reduce(full_join) 将我的数据收集到一个数据表中。我尝试只使用一个 excel 文件并使用 unlist() 来查看是否可以将我的工作表从列表列表中取出,但这没有用。
Test <- read_excel_sheets("Hop_L_Trial1.xlsx")
Test_Test <- unlist(Test)

我也试过
rawfiles <- list.files()
IMPORT <- lapply(rawfiles,
FUN = read_excel_sheets)
Test_3 <- rbindlist(IMPORT)

并收到错误“第 1 项的第 1 列长度为 2,与长度为 6 的第 2 列不一致。仅回收长度为 1 的列。”任何关于如何将我的数据加入一个数据表的建议将不胜感激,谢谢。

最佳答案

您可以使用 map_df来自 purrr将数据作为单个数据框获取。

read_excel_sheets <- function(excelDoc) {
sheets <- readxl::excel_sheets(excelDoc)
sheets <- sheets[4:6]
x <- purrr::map_df(sheets, function(X) readxl::read_excel(excelDoc, sheet = X))
return(x)
}

IMPORT <- purrr::map_df(rawfiles, FUN = read_excel_sheets)

您也可以使用 do.call + rbind基本 R 函数。
read_excel_sheets <- function(excelDoc) {
sheets <- readxl::excel_sheets(excelDoc)
sheets <- sheets[4:6]
x <- do.call(rbind, lapply(sheets, function(X) readxl::read_excel(excelDoc, sheet = X)))
return(x)
}

IMPORT <- do.call(rbind, lapply(rawfiles, FUN = read_excel_sheets))

关于r - 加入列表列表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62482411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com