簡體   English   中英

R:根據文件名的多個AND和OR條件導入CSV數據

[英]R: Importing CSV data based on multiple AND and OR conditions of the file names

我需要幫助根據 R 中文件名的多個 AND 和 OR 條件導入 CSV 數據

我有一個包含 CSV 文件(總共 820 個)的文件夾,每個文件夾都包含一個固定且相同的格式表,表格中填充了不同的值。

CSV 文件可以根據三個變量分為多個組:物種、RCP、MSY。 請參閱下面的 CSV 文件名 (file.dir) 表格,其中標識了變量桌子

我有 82 個物種(代碼)、2 個 RCP 和 5 個 MSY,總共有 820 個 CSV 文件/表格。 我目前正在使用此代碼導入我的 csv,但我的技能僅限於“pattern=”的一個正則表達式:

all_paths <- list.files(path = "C:/#File.dir", pattern = "rcp85", full.names = TRUE)

我希望基於以下條件導入 csv:

  1. 具有物種(代碼)列表中既不連續也不有序的名稱之一的文件名。 即文件名中的物種代碼: 60002 , 60005 , 600042,600058 , 600062,600089 , 600092 ,600100 (我只想選擇粗體
  2. 導入包含 msy1 或 msy3 的 CSV 文件名。 這意味着我希望同時導入 msy1 和 msy3
  3. 在滿足 (1) 和 (2) 中的條件的情況下導入 R 中的文件。

我可以知道我如何改進/表達附加的腳本以滿足我的目標嗎? 還是我必須使用額外的包才能這樣做?

我希望我的目標不會讓任何閱讀它的人感到困惑。 如果需要更多信息,請告訴我。 非常感謝您的時間!

加油,噓

這是一個想法,它不會是您完全想要的答案,但是您可以像這樣制作帶有物種和 MSY 的文件名列表:

list.files <- list()
for(species in species.list) {
  for(rcp in c("rcp45","rcp85")){
    for(msy in c("msy1","msy3")){
      list.files <- append(list.files, paste0(species,"-Biomass-",rcp,"-",msy,".csv"))
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM