У меня есть следующий блок кода:
# Obtain records from all patients
patientDir <- sort(list.dirs(path = "sample_images", full.names = TRUE, recursive = FALSE))
dataframes <- list()
i = 1
while(i<19){
# Strip the patient out
patient <- coreHist(patientDir[i])
print("1")
setwd("/Volumes/HUGE storage drive/")
exists<- file.exists(patientDir[i])
print(exists)
# Extract the relevant information from the patient
dicom <- readDICOM(patientDir[i])
dicomdf <- dicomTable(dicom$hdr)
patient_id <- dicomdf$`0010-0020-PatientID`[1]
print("2")
# Normalize their VX's
sum<- sum(patient$histData$finalFreq)
print("3")
# Create the new VX's
patient$histData$finalFreq_scaled <- (patient$histData$finalFreq/sum)
print("4")
# Add their ID
patient$histData$patientid <- patient_id
print("5")
# Keep only the important columns
patient$histData <- patient$histData[c("patientid", "Var1", "finalFreq_scaled")]
print("6")
# Add these dataframes to a list for better recall afterwards
dataframes[[i]] <- patient$histData
print("7")
# Additional code to transpose and merge dataframes
if(i == 1){
wide_df <- patient$histData
}else{
wide_df <- rbind(wide_df,patient$histData )
}
print("8")
print(paste(c("Patient", i), sep ="", collapse = "-"))
i = i+1
}
Однако после (на первый взгляд случайного) числа итераций код завершается ошибкой сразу после строки «print (« 1 »)» со следующей ошибкой:
Error in file(con, "rb") : cannot open the connection
Рабочий каталог настроен на внешний жесткий диск, так как папка sample_images имеет размер 62 ГБ. Я подумал, что, возможно, было время ожидания соединения с R studio и моим внешним жестким диском, поэтому я попытался «оставаться активным» на моем компьютере, я также пытался сбросить рабочий каталог после каждой итерации, чтобы убедиться, что он может найти файл.
Когда у определенного пациента происходит сбой, я проверяю вручную, чтобы убедиться, что этот файл действительно существует, и он существует. Какие-нибудь мысли?