我創建了一個通過回圈傳遞向量的小腳本。在這個回圈中,我使用 if else 陳述句來檢查檔案夾是否存在,如果不存在則創建檔案夾。但是,我收到錯誤:file.exists(i) 中的錯誤:無效的“檔案”引數。這必須歸功于 file.exist()。我不明白為什么這不行。我使用幫助檢查了這個人。似乎這應該作業。
folders<- c("RawData", "Output", "BCV", "DEplots", "DEtables", "PathwayOuts", "VolcanoPLots")
for(i in 1:length(folders)){
if (file.exists(i)){
cat(paste0(i, "already exists"))
} else {
cat(paste0(i, "does not exists"))
dir.create(i)
}
}
uj5u.com熱心網友回復:
您正在回圈遍歷一個索引(即1:length(folders)只是向量 1:7,而不是folders向量本身的值。最簡單的解決方案是遍歷向量本身:
for (i in folders) {
或者,如果您仍想遍歷索引:
for (i in 1:length(folders)) {
if (file.exists(folders[i])){
cat(paste0(folders[i], "already exists"))
}
else {
cat(paste0(folders[i], "does not exists"))
dir.create(folders[i])
}
}
一個快速提示:如果您正在除錯一個 for 回圈,則開始的地方是print(i)在回圈的開頭添加。您會立即看到問題:i是一個整數,而不是向量的第一個值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/481513.html
