簡體   English   中英

R:通過在多個計算機目錄中查找來命名多個列表

[英]R: Name multiple lists from looking within multiple computer directories

我想知道R是否可以做到這一點:

我在C:/名稱中的C:驅動器上有幾十個文件夾。 為了簡單起見,假設只有兩個分別稱為“ Ben”和“ Dave”。 這些文件夾中的每個都有幾個文件。

我希望R為每個文件夾創建這些文件的列表,然后為該列表分配該文件夾的名稱。 因此,結果將為我提供兩個類似的對象:

Ben:

[1] "File1.csv" "File2.csv"  

Dave:
 [1] "File3.csv" "File4.csv

我覺得我必須循環執行此操作,但是由於我的知識有限,還不確定如何操作。 我想對C:/ Names中的所有文件夾執行此操作,而不僅僅是對示例中的兩個文件夾執行此操作。

這是您要做什么?

names <- "C:/Names"
folders <- list.dirs(path = names, full.names = F, recursive = F)
for (foldersA in folders){
  assign(foldersA, list.files(paste(names, foldersA, sep="/")))
}

通常,用任意名稱創建對象是一個壞主意,因為子文件夾之一的名稱可能對R中的對象不合法或覆蓋現有對象。 更多的R-ish方法是使用以下方法創建一個列表:

input.names <- lapply(list.dirs("c:\\Names"),list.files)

那么您可以在列表中的元素上循環以進行進一步處理,或者將單個元素作為input.names$Daveinput.names[["Dave"]]

暫無
暫無

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

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