我有数量众多的目录,其名称如const {expect} = require('chai');
describe('addId', () => {
it('should add an appropriate id to `user.data.id`', () => {
const user = {data: {}};
addId({name: 'Annie'})(user);
expect(user.data.id).to.match(/^ANNIE[A-Z\d]{18}$/);
});
});
,然后我希望将每个目录名的所需部分传递给栅格名称"xxxxxxxx2019.01.01"
。但是,栅格名称突然改变,这有时会导致某些名称被覆盖!
为什么会这样?有人可以帮我解决这个问题吗? 以下是我的脚本的简化版本:
"myRas_..."
然后输出令人惊讶地保存为library(raster)
set.seed(1234)
#setting working directory
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
# create data
r <- raster(nrows = 120, ncol = 120, xmn=0)
r[] <- sample(3, ncell(r), replace=TRUE)
dlist <- "xxxxxxxx2019.01.01"
# Write results myRas_...
raster::writeRaster(r,
file.path(getwd(), paste0("myRas_", stringr::str_sub(dlist,-10,-1), collapse = "")),
format = "GTiff", overwrite=TRUE)
,而不是myRas_2019.01.tif
。
答案 0 :(得分:2)
这可能是由于点(。)引起的,可以通过使用gsub
或类似的东西替换点来避免。也许其他人可以告诉您一种保持点滴的方法。
# Write results
raster::writeRaster(r,
file.path(getwd(), paste0("myRas_", gsub("\\.", "_", as.character(stringr::str_sub(dlist,-10,-1))))),
format = "GTiff", overwrite=TRUE)