如何从R中单个子文件夹中包含的文件中堆叠单个栅格图层?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

我正在使用栅格图层。我有一个父文件夹中有10个子文件夹。我想为每个子文件夹应用一个脚本,并为每个子文件夹创建多个堆栈。代码:

#List all my subfolders in my parent folder
list_dirs<- list.dirs(path/parentfolder/, recursive = F) 

for (i in list_dir){

# set the working directory to the subfolder i
setwd(i) 

# List all the files with a certain pattern in the subfolder i
s<- list.files(path=setwd(i), pattern = "cool", recursive=F)

# I do not see how I can create a stack for each of my subfolders here.
#I should have an index i somewhere in the last line.

ss<- stack(s)

}
提问于
用户回答回答于

你通常应该使用这种类型的列表。你可以将每个堆栈添加为循环中的列表元素。

stack.list <- list()
for (i in 1:length(list_dirs)){
  s <- list.files(path=list_dirs[i], pattern = "cool", recursive=F, full.names = TRUE)
  stack.list[[i]] <- stack(s)
  }

或者,如果你想跟踪哪个列表元素对应于哪个文件夹,则稍微好一些,你可以使用:

stack.list[[basename(list_dirs)[i]]] <- stack(s)
用户回答回答于

代码

list_dirs <- list.dirs("path/parentfolder/", recursive = F)

names(list_dirs) <- basename(list_dirs)

raster.list <- lapply(list_dirs, function(dir) {
  stack(list.files(dir, pattern = "cool", full.names = T, recursive = F))
})

所属标签

可能回答问题的人

  • 天使的炫翼

    17 粉丝531 提问5 回答
  • 找虫虫

    0 粉丝0 提问5 回答
  • 人生的旅途

    10 粉丝484 提问4 回答
  • 骑牛看晨曦

    4 粉丝522 提问4 回答

扫码关注云+社区

领取腾讯云代金券