[R-sig-eco] raster::predict example doesn't work?

Gonzalez-Mirelis, Genoveva genovev@@gonz@lez-mireli@ @ending from hi@no
Tue Dec 4 15:52:37 CET 2018


Dear list,

I posted this question recently on another list so I apologize for any cross-posting. Still no solution.


I would like to use the 'predict' function in the 'raster' package in an implementation of species distribution modelling with a couple of factor variables. Furthermore, I would like to set this up exactly as the cforest example listed in the help file. Unfortunately, I cannot get the example to work!



# create a RasterStack or RasterBrick with with a set of predictor layers



logo <- brick(system.file("external/rlogo.grd", package="raster"))

names(logo)



# known presence and absence points

p <- matrix(c(48, 48, 48, 53, 50, 46, 54, 70, 84, 85, 74, 84, 95, 85,

              66, 42, 26, 4, 19, 17, 7, 14, 26, 29, 39, 45, 51, 56, 46, 38, 31,

              22, 34, 60, 70, 73, 63, 46, 43, 28), ncol=2)



a <- matrix(c(22, 33, 64, 85, 92, 94, 59, 27, 30, 64, 60, 33, 31, 9,

              99, 67, 15, 5, 4, 30, 8, 37, 42, 27, 19, 69, 60, 73, 3, 5, 21,

              37, 52, 70, 74, 9, 13, 4, 17, 47), ncol=2)



# extract values for points

xy <- rbind(cbind(1, p), cbind(0, a))

v <- data.frame(cbind(pa=xy[,1], extract(logo, xy[,2:3])))



# cforest (other Random Forest implementation) example with factors argument



v$red <- as.factor(round(v$red/100))

logo$red <- round(logo[[1]]/100)



library(party)

m <- cforest(pa~., control=cforest_unbiased(mtry=3), data=v) f <- list(levels(v$red))

names(f) <- 'red'

pc <- predict(logo, m, OOB=TRUE, factors=f)



# Error in v[cells, ] <- predv :

# number of items to replace is not a multiple of replacement length



# If you change the order of the first two arguments (I read this somewhere) then the error changes, like this:



pc <- predict(m, logo, OOB=TRUE, factors=f)



# Error in RET using prediction_weights(newdata = newdata, mincriterion = mincriterion,  :

# unused argument (factors = f)



# Lastly, if I run the line without the 'factors' argument

pc <- predict(m, logo, OOB=TRUE)



# Then I get no errors, but I don't understand the result. It's a vector of 40 values (predictions?)



I am using Package 'raster' version 2.6-7 in RStudio 1.1.453, running off a server. I have tried the on several other computers, though, and the error persisted.



Many thanks for any help,



Genoveva

Genoveva Gonzalez Mirelis, Scientist
Institute of Marine Research
Nordnesgaten 50
5005 Bergen, Norway
Phone number +47 55238510


Genoveva Gonzalez Mirelis, Scientist
Institute of Marine Research
Nordnesgaten 50
5005 Bergen, Norway
Phone number +47 55238510


	[[alternative HTML version deleted]]



More information about the R-sig-ecology mailing list