#r #directory #connection
#r #каталог #соединение
Вопрос:
Я создал цикл for, который перебирает папку. Папка называется Ultrasonic data — Plots и содержит вложенные папки. Имена вложенных папок непротиворечивы, как и данные во вложенных папках. Когда я запускаю код, он работает очень хорошо для большинства циклов, но для некоторых вложенных папок выдает ошибку.
Ошибка: file (file, «rt»): не удается открыть соединение.
Ответы, которые я прочитал, обычно указывают на проблему как на неверно указанный рабочий каталог. Однако я думаю, что в этом примере это не так. Может ли что-нибудь еще вызвать это сообщение об ошибке?
Я уже проверил соответствие имен вложенных папок и файлов данных .txt в них.
'''R
parent.folder <- "//home.org.aalto.fi/meijsl1/data/Documents/GAGS/Ultrasonic data/Ultrasonic data - Plots"
sub.folders <- list.dirs(parent.folder, recursive=FALSE)
filt.folders <- sub.folders[grepl("SV-30-[^_]*_S[12]", sub.folders)]
for(i in filt.folders) {
setwd(i)
AIC("SV-30", 20, 40) #This is a function that picks the S-wave onset of an ultrasonic signal
} #End for loop over all specimens
'''
'''PArt of the AIC function where the error occurs: (read.table)
for (n in 1:length(filelist)){
#
# Read the file into R
#
file.path('./out/Processed', basename(filelist[n])) -> procpath
read.table(file=procpath, sep="t", stringsAsFactors=FALSE, check.names = FALSE) -> temp
assign(paste(substr(basename(filelist[n]), 1, nchar(basename(filelist[n])) - 4)), temp)
'''
Код должен выполняться плавно, как и для большинства вложенных папок, но, по-видимому, что-то не так. У меня нет идей, что это может быть. С моей точки зрения, согласованность была единственной вещью, которая могла вызвать эту проблему. Я надеюсь, что кто-нибудь может помочь.
Приветствия
Комментарии:
1. Вы знаете, какой файл вызывает ошибку? Вы можете сначала проверить, открыть этот файл вручную, а затем попытаться выполнить команду только с этим путем к файлу в консоли R.
2. Привет, Рафаэло, да, я проверил файл, который вызвал ошибку. Я запустил его отдельно, и он выдал точно такую же ошибку. Теперь я обнаружил ошибку. Спасибо за ваш ответ!