导入了错误的 csv 文件

Wrong csv files being imported

我真的只是需要另一双眼睛来审视这段代码。如您所见,我正在搜索具有“*45Fall...”模式的文件。但是每次我 运行 它,它都会调出文件“*45Sum...”并且有一次调出“*45Win...”文件。这似乎完全是随机的,代码明确要求 Fall。我很困惑。

我正在做的是导入带有“Fall_2040301”的所有文件(还有许多其他数字与“Fall”相关联,以及许多其他名称与“*Fall_2040301”相关联),以及 Win、Spr 和 Sum)。我 t运行通过删除最后 84 行并将它们绑定在一起,将它们放在 56 行处,以便我可以将它们写成一个组。

fnames <- dir("~/Desktop/RprojPuddle/modified_files", pattern = "*45Fall_2040301.csv")
read_data <- function(z){
   dat <- fread(z, skip = 0, select = 1:3, )
   return(dat[1:(nrow(dat)-84),])
}

datalist <- lapply(fnames, read_data)
bigdata <- rbindlist(datalist, use.names = T)
datalist = do.call("rbind", bigdata)
datalist

splitByHUCs <- split(bigdata, f = bigdata$HUC8 , sep = "\n", lex.order = TRUE)

saveFun_WRITE <- function(splitByHUCs, name_i) {
   fwrite(splitByHUCs, file = paste0("~/Desktop/RprojPuddle/splitByHUCs/b02040301/splFall/", name_i, ".csv")) # save the file to the computer
}
mapply(FUN = saveFun_WRITE, splitByHUCs, name_i = names(splitByHUCs), SIMPLIFY = FALSE)

我使用了与其他季节相同的代码并且效果很好。我知道这是 Frankenstein 代码,我也欢迎提出收紧它的建议,但实际上,它正在工作。除了秋天。谢谢

好吧,我用".45Fall_2222"还是"*45Fall_2222"好像都无所谓,都return结果一样。问题出在 read_data 函数上。我最初尝试过这个:

read_data <- function(z){
   dat <- fread(z, skip = 0, select = 1:3, )
   return(dat[1:(nrow(dat)-84),])
}

当我将它更改为正数(下图)时,它现在可以正常工作,适用于所有输入。

read_data <- function(z){
  dat <- fread(z, skip = 0, select = 1:3, )
  return(dat[1:(nrows=56)])
}

谢谢大家。