Tengo un problema al realizar la RF en R para una escena WorldView-2. Nunca antes he utilizado R para la clasificación de la teledetección, así que simplemente he seguido lo que está escrito aquí . He cargado la escena (TIFF de 8 bandas) con raster::brick y lo he llamado abcd, he cargado un shapefile simple de 4 puntos y 2 clases con OGR, he ejecutado el modelo randomForest y lo he llamado wv2rf y he intentado utilizar predict:
predict(abcd, wv2rf, "rftes.img", index=1, na.rm=TRUE)
R devolvió un error, que no puedo manejar con:
Error in `[.data.frame`(blockvals, , f[j]) : undefined columns selected
Supongo que tiene que ver con el valor del índice, pero he intentado cambiarlo y no ha funcionado
todo el código:
#loading data
abcd <- brick("13AUG20094646-M2AS-13EUSI-1283-01.tif")
sdata <- readOGR(dsn="mypath\\poligony testowe", layer="training")
v <- extract(x=abcd, y=sdata, df=TRUE)
sdata@data = data.frame(sdata@data, v[match(rownames(sdata@data), rownames(v)),]
sdata@data[3] <- NULL
#classification
wv2rf <- randomForest(x=sdata@data, y=(sdata@data[,"klasa"]), ntree=10, importance=TRUE)
predict(abcd, wv2rf, "rftes.img", index=1, na.rm=TRUE)
Aquí están los archivos con mis variables sdata, wv2rf y abcd, deberían funcionar con load("filename") en R. Espero que te sirvan para ayudarme.