Подсчет частоты нескольких растровых объектов в R - PullRequest
0 голосов
/ 17 сентября 2018

Я хочу написать df с частотой 150 растровых объектов.

Я знаю, что могу читать отдельные растровые объекты с помощью

raster_x <- raster::raster()

. Далее я могу получить частоту с помощью

raster_freq_y <- raster::freq(raster_x)

. После этого я могу связать выходы freq несколькихрастровые объекты для df с

cbind.data.frame(raster_freq_x, raster_freq_y) 

Что я не знаю, как это сделать для 150 растровых объектов за один раз?

Должен ли я использовать цикл?Если да, то какой цикл будет иметь смысл?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 17 сентября 2018

Если RasterLayer объекты имеют одинаковый экстент и разрешение, вы можете объединить их в RasterStack. Приведенный ниже пример от ?freq

Пример данных:

library(raster)
r <- raster(nrow=18, ncol=36)
r[] <- runif(ncell(r))
r[1:5] <- NA
s <- stack(r, r*2, r*3)

Решение:

freq(s, merge=TRUE)

Если RasterLayer объекты не имеют одинаковый экстент и разрешение, вы можете сохранить их вместе в списке и использовать lapply

ss <- list(r, r*2, r*3)
lapply(ss, freq)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...