如何在 readr read_csv (list.files for loop) 中组合路径和变量?
How to combine path and variable in readr read_csv (list.files for loop)?
我需要为我的 R 项目批量导入一些数据。按照一些指南,我写了一个简单的 for 循环,如下所示:
for (for_variable in list.files(path = "./data", pattern = ".csv$")) {
temp <- read_csv(for_variable)
# Some data wranglig
database <- rbind(database, temp)
rm(temp)
}
问题是我的数据在我的工作目录的数据文件夹中,正如我在 list.files(path = "./data")
中指定的那样。问题是我不能使用 read_csv(for_variable)
因为我得到一个错误:
'file_name.csv' does not exist in current working directory
如果我尝试在 read_csv
中指定路径,它不理解 'for_variable' 是什么,它会尝试在数据文件夹中查找文字 'for_variable' 文件。那么如何在 read_csv
中组合路径和变量名呢?或者有没有其他方法可以解决这个问题?
我建议阅读 this post,因为它有助于导入多个 csv 文件。
但是为了帮助解决您的具体问题,您的错误很可能是因为您需要为要导入的文件传递 完整 路径名,并且可以通过以下方式指定使用 list.files()
中的 full.names = TRUE
参数。仅将 for_variable
中包含的文件名传递给 read_csv
是行不通的。
list.files(path = "./data", full.names = TRUE, pattern = ".csv$")
我需要为我的 R 项目批量导入一些数据。按照一些指南,我写了一个简单的 for 循环,如下所示:
for (for_variable in list.files(path = "./data", pattern = ".csv$")) {
temp <- read_csv(for_variable)
# Some data wranglig
database <- rbind(database, temp)
rm(temp)
}
问题是我的数据在我的工作目录的数据文件夹中,正如我在 list.files(path = "./data")
中指定的那样。问题是我不能使用 read_csv(for_variable)
因为我得到一个错误:
'file_name.csv' does not exist in current working directory
如果我尝试在 read_csv
中指定路径,它不理解 'for_variable' 是什么,它会尝试在数据文件夹中查找文字 'for_variable' 文件。那么如何在 read_csv
中组合路径和变量名呢?或者有没有其他方法可以解决这个问题?
我建议阅读 this post,因为它有助于导入多个 csv 文件。
但是为了帮助解决您的具体问题,您的错误很可能是因为您需要为要导入的文件传递 完整 路径名,并且可以通过以下方式指定使用 list.files()
中的 full.names = TRUE
参数。仅将 for_variable
中包含的文件名传递给 read_csv
是行不通的。
list.files(path = "./data", full.names = TRUE, pattern = ".csv$")