首页 文章

函数读取文件夹返回“文件中的错误(con,”r“):无法打开连接...”

提问于
浏览
0

我正在尝试将文件文件夹导入R.以下代码适用于包含相同类型文件的一个文件夹,但不适用于其他文件夹 . 数据类型相同(两个debian文件都以相同的方式格式化,只包含不同主题的数据) .

以下代码允许我读取“Data1”文件夹中的所有文件(名为subject1-subject10)并将其放入名为Data的列表中:

files <- as.character(list.files(path="/Users/wendy/Box Sync/Data1"))
data <- list() 
for (i in seq_along(files)) {
  data[[i]] <- readLines(files[[i]])
}

但是下面的代码不起作用 - 这个文件夹(Data2)包含subject11 - subject50:

files <- as.character(list.files(path="/Users/wendy/Box Sync/Data2"))
data <- list() 
for (i in seq_along(files)) {
  data[[i]] <- readLines(files[[i]])
}

这会显示以下消息:

Error in file(con, "r") : cannot open the connection In addition: Warning message: In file(con, "r") : cannot open file 'subject11': No such file or directory

我很困惑,因为包含各自主题数据的两个文件夹都在同一文件路径中,但路径中的最后一个文件夹名称除外 .

第二个文件夹(Data2)仅在以下方面有所不同:

  • 文件夹中的文件数

  • 包含不同的主题

  • "Data2"中记录的数据(更多变量)更多(例如,数据2中的记录年龄,身高,种族与Data1中的记录年龄和身高相比)

如果我将一些Data2的文件放入Data1文件夹并再次运行顶部代码,它将产生与运行第二个代码块时相同的错误消息 .

1 回答

  • 0

    您应该添加 full.names 选项 .

    list.files(path="/Users/wendy/Box Sync/Data2", full.names = TRUE)
    

    没有它,它只输出文件的名称,因此只有在当前工作目录中找到具有该确切文件名的文件时,它才有效 .

相关问题