【发布时间】:2022-01-09 21:53:11
【问题描述】:
我想从名为 table3_2、table3_3、table3_4、table3_5...、table3_168 的 168 个不同 .csv 文件中提取名为 X1 的列,所有这些文件都保存在一个文件夹中 (文件夹 1)。然后,合并成一个新的df。列的内容是因子。
尝试此代码但无法正常工作。
folder1 <- "folder1"
folder2 <- "folder2" # destination folder
write_to <- function(file.name) {
file.name <- paste0(tools::file_path_sans_ext(basename(file.name)), ".csv")
df <- read.csv(paste(folder1, file.name, sep = "/"), header = FALSE, sep = "/")[X1]
write.csv(df, file = past(folder2, file.name, sep= "/"))
}
files <- list.files(path = folder1, pattern = "*.csv")
lapply(X = paste(folder1, files, sep= "/"), write_to)
这会出现错误:
文件中的错误(文件,“rt”):无法打开连接 另外:警告信息: 在文件(文件,“rt”)中: 不能经常归档
folder1/folder1.csv:没有这样的文件或目录
所以,我没有调用正确的表格名称,也可能没有将 R 指向正确的文件夹(我已将 wd 设置为文件夹 1)。
任何建议将不胜感激。
非常感谢
【问题讨论】:
-
您说您将 wd 设置为 folder1。 R 然后找不到 folder1 了,因为你已经在里面了。如果 folder1 和 folder2 都具有相同的父文件夹,那么您应该将 wd 设置为那个。否则,您可以尝试使用它们的绝对路径。
-
谢谢,知道了真的很有帮助