r - 如何通过文件夹创建一个循环以在R中的相应文件夹中写入栅格?
问题描述
我正在尝试对不同的文件夹重复相同的操作。我将多个栅格堆叠和相乘 10 次(对应于我的 10 个文件夹)。我想在dir a中进行操作并在dir a 中写入新的栅格,在dir b中进行操作并在dir b中写入新的栅格等。
setwd("path/")
dir <- list.dirs(recursive=FALSE)
for(j in 1:length(dir)){
writeRaster(stack( list.files(path=dir[j], recursive=TRUE, full.names=TRUE, pattern='rain'))*2,
path=dir[j]),filename=paste(dir[j], "new.tif"), overwrite=TRUE, bylayer=TRUE )
}
但是,使用上面的代码,文件并没有写入相应的文件夹中。它们都写在setwd定义的路径中。
我是 R 新手,任何帮助将不胜感激。
解决方案
对您的代码稍作修改,它就可以工作。问题在于您指定写入新栅格的名称和路径的方式。
dir <- list.dirs(recursive=FALSE)
for(j in 1:length(dir)){
writeRaster(stack( list.files(path=dir[j], recursive=TRUE, full.names=TRUE, pattern='rain'))*2,
paste0(dir[j],"/",strsplit(dir[j],"/")[[1]][2], "_new.tif"), overwrite=TRUE, bylayer=TRUE )
}
推荐阅读
- java - GraalVM TypeHint 未包含在 reflect-config.json 中
- kubernetes - Kubernetes 中的节点/代理子资源是什么?
- flutter - Dart函数没有返回预期值
- python - 除了最后一个单词,我怎样才能缩写单词?
- logging - Serilog 日志记录到工作服务.net core 3.1 中的文件
- java - 如何获得这种带有可滑动标签的 Pinterest 风格的浮动底部导航栏?Android 的 Compose 还是 XML?
- pandas - Flightradar24 pandas groupby and vectorize. A no looping solution
- uno-platform - Uno Platform Pathicon 不再正确显示
- python - pip 编译错误:AttributeError:“ParsedRequirement”对象没有属性“可编辑”
- dom - React Function Component - 不通过使用道具设置状态来重新渲染