Использование dplyr-подобных команд для организации растровых данных в R - PullRequest
0 голосов
/ 27 марта 2020

У меня есть три глобальных растровых текстуры почвы (sand, clay и silt). Я хочу объединить эти растры в один растр с двумя категориями (coarse и fine) на основе относительного процента sand, clay и silt. Я делал это раньше, когда работал с следующим образом:

kiwi <- kiwi %>% mutate(group = case_when(
clay_value_avg < 20  ~ "coarse",
silt_value_avg > 80 ~ "coarse",
clay_value_avg > 20 ~ "fine",
silt_value_avg < 80 ~ "fine"
))

Можно ли сделать что-то подобное с ? Спасибо,

1 Ответ

1 голос
/ 27 марта 2020

Вы не можете использовать этот тип синтаксиса, но есть и другие способы

Так вы создадите простой и автономный воспроизводимый пример

library(raster)
clay <- silt <- raster(ncol=10, nrow=10)
values(clay) <- 1:100
values(silt) <- 99:0

Это подход

fine <- silt < 80 & clay > 20
coarse <- !fine

И еще

f <- function(s, c) {
    s < 80 & c > 20
}
fine <- overlay(silt, clay, fun=f)
...