![](/img/trans.png)
[英]Error: condition has length > 1 and only the first element will be used in r
[英]the condition has length > 1 and only the first element will be used - in R
putanja <- "Z:/Radne Skupine/Reports/AK-ID"
direktoriji <- list.dirs(putanja, full.names = TRUE,recursive = FALSE)
direktoriji
for (d in 1:length(direktoriji)){
temp_dir = direktoriji[d]
fileovi <- list.files(path=temp_dir,pattern = "\\.xlsx$|\\.xls$")
if (file_ext(fileovi) == "xlsx") {
#fileovi = fileovi %>% filter(file_ext(fileovi[fileovi!="\\.xls"]))
for (f in 1:length(fileovi)){
temp_file = paste(direktoriji[d],fileovi[f],sep="/")
# IF 01.00
temp1 <- read_excel(path = temp_file,sheet = "IF 01.00",range = "A4:C56")
# IF 02.01
temp2 <- read_excel(path = temp_file,sheet = "IF 02.00",range = "A4:C19")
# IF 02.02
temp3 <- read_excel(path = temp_file,sheet = "IF 02.00",range = "A28:C35")
# IF 03.00
temp4 <- read_excel(path = temp_file,sheet = "IF 03.00",range = "A4:C25")
# IF 04.00
temp5 <- read_excel(path = temp_file,sheet = "IF 04.00",range = "A3:C20")
# IF 05.00
temp6 <- read_excel(path = temp_file,sheet = "IF 05.00",range = "A4:C33")
# IF 06.01
temp7 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A6:E12")
# IF 06.02
temp8 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A16:P22")
# IF 06.03
temp9 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A26:E30")
# IF 06.04
temp10 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A34:J38")
# IF 06.05
temp11 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A43:E50")
# IF 06.06
temp12 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A55:J62")
# IF 06.07
temp13 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A67:E75")
# IF 06.08
temp14 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A79:G87")
# IF 06.09
temp15 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A92:C102")
# IF 06.10
temp16 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "B107:G110")
# IF 06.11
temp17 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A115:G129")
# IF 06.12
temp18 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A134:E138")
# IF 06.13
temp19 <- read_excel(path = temp_file,sheet = "IF 06.00",range = "A143:J147")
# sklapanje
temp <- rbind(temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,temp9,temp10,temp11,temp12,temp13,temp14,temp15,temp16,temp17,temp18,temp19) #%>% mutate(datum=,subjekt=)
}
}
}
嗨,我正在使用這段代碼來制作一個遍歷目錄並讀取.xlsx 文件的過程。 在目錄中還有我想避免的 .xls 文件。 這段代碼沒有得到錯誤只是警告,它們都是相同的“條件長度> 1,只使用第一個元素”。 你能幫忙嗎?
我試圖重現你的例子。 我相信只要您在temp_dir
中有多個 .xlsx 文件,就會發出警告。 如果是這樣,那么fileovi
是一個字符串向量,其元素數量與temp_dir
中的 .xlsx 文件一樣多。
因此, file_ext(fileovi)
將是另一個具有相同元素數量的字符串向量。 在if
條件中傳遞它會引發警告,因為 R 只會使用第一個元素來檢查語句== "xlsx"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.