Я новый пользователь R. Мои вопросы закрыты для недавно заданных вопросов на веб-сайте переполнения стека: как составлять отдельные растровые слои из файлов, содержащихся в отдельных подпапках в R?.Я использовал ответы, предоставленные для моего собственного случая.У меня есть несколько папок, содержащих несколько растровых файлов.Описание файлов одинаково для каждой папки.Для упрощения у меня есть две папки A и B , содержащие каждые 16 растровых файлов.Либо папка A, либо B, растровые файлы имеют одинаковый тип имени, поэтому их можно идентифицировать по шаблонам.
|----8 raster files pattern "snow"
Folder A- |
| |----8 raster files pattern "rain"
parent_folder-|
| |----8 raster files pattern "snow"
Folder B-|
|----8 raster files pattern "rain"
Я использовал код, указанный в последнем вопросе (см. Ссылку):
list_dirs <- list.dirs("path/parentfolder/", recursive = F)
names(list_dirs) <- basename(list_dirs)
# create two stacks with the pattern "snow" for the folders A and B, respectively
raster.list.snow <- lapply(list_dirs, function(dir) {
stack(list.files(dir, pattern = "snow", full.names = T, recursive = F))
})
# create two stacks with the pattern "rain" for the folders A and B, respectively
raster.list.rain <- lapply(list_dirs, function(dir) {
stack(list.files(dir, pattern = "rain", full.names = T, recursive = F))
})
Я хотел бы выполнить вычисления в каждой папке.Например, я хотел бы в папке A умножить стек растров с шаблоном «снег» на стек растров с шаблоном «дождь» и сделать то же самое для папки B.
Iпопробовал следующий код:
raster.multiply<- raster.list.snow * raster.list.rain
У меня должно быть 8 новых растровых файлов для каждой папки A и B.
Затем я хотел бы записать в каждую папку файлы, полученные из raster.multiply,
Однако для последней строки кода я получил следующую ошибку:
Error in raster.list.snow * raster.list.rain :
non-numeric argument to binary operator
Я очень новичок в R и все еще изучаю.