gpt4 book ai didi

r - 使用rbind将多个.csv文件加载到R中的单个数据帧中的函数有什么问题?

转载 作者:行者123 更新时间:2023-12-03 14:30:24 24 4
gpt4 key购买 nike

我编写了以下函数来组合300个.csv文件。我的目录名称是“specdata”。我已经完成了以下执行步骤,

x <- function(directory) {     
dir <- directory
data_dir <- paste(getwd(),dir,sep = "/")
files <- list.files(data_dir,pattern = '\\.csv')
tables <- lapply(paste(data_dir,files,sep = "/"), read.csv, header = TRUE)
pollutantmean <- do.call(rbind , tables)
}

# Step 2: call the function
x("specdata")

# Step 3: inspect results
head(pollutantmean)

Error in head(pollutantmean) : object 'pollutantmean' not found

我怎么了谁能解释一下?

最佳答案

您的函数中有很多不必要的代码。您可以将其简化为:

load_data <- function(path) { 
files <- dir(path, pattern = '\\.csv', full.names = TRUE)
tables <- lapply(files, read.csv)
do.call(rbind, tables)
}

pollutantmean <- load_data("specdata")

请注意, do.call + rbind相对较慢。您可能会发现 dplyr::bind_rowsdata.table::rbindlist快得多。

关于r - 使用rbind将多个.csv文件加载到R中的单个数据帧中的函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23190280/

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