w ramach mapowania gleby, muszę podać nieokreśloną liczbę rastrów . Próbuję to zrobić za pomocą pakietu "raster" i funkcji "do.call". Jeśli jednak funkcja "suma" może sumować się z wieloma rastrami, wykonanie tej samej operacji przy użyciu polecenia do.call prowadzi do błędu. Co ja robię źle ?Podsumowując nieokreśloną liczbę rastrów z pakietem.call i rastrowym
library(raster)
r1 <- raster(ncol=10, nrow=10) # dataset for test
values(r1) <- runif(ncell(r1))
r2 <- raster(ncol=10, nrow=10)
values(r2) <- runif(ncell(r2))
r3 <- raster(ncol=10, nrow=10)
values(r3) <- runif(ncell(r3))
sum(r1,r2,r3) # works nice
do.call(sum,list(r1,r2,r3))
##Erreur dans as.character(sys.call()[[1L]]) :
##cannot coerce type 'builtin' to vector of type 'character'
Dziękuję Ci pomóc,
François
To było bardzo przydatne, dzięki! – fstevens
Warto również wspomnieć, że z mojego doświadczenia wynika, że Reduce jest znacznie, dużo szybszy niż do.call lub suma (stack (list)) dla bardzo długich list rastrowych. –