I am assembling a raster stack of environmental variables to run analytics with Random Forests.
rf <- randomForest(
x = covar,
y = d1
)
Error in randomForest.default(x = covar, y = d1) :
NA not permitted in predictors
covar
is my raster stack, d1
is my point value object.
str(d1)
num [1:380] 7.4 7.81 7.75 7.96 7.54 7.25 7.83 7.52 8.02 7.68 ...
str(covar)
'data.frame': 380 obs. of 76 variables:
$ apr_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ apr_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ april_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ aspect_guanajuato_250mx: num NA NA NA NA NA NA NA NA NA NA ...
$ aug_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ aug_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ aug_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ bd_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ bd_10_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ bd_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cec_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cec_15_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cec_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cly_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cly_10_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cors_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cors_10_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ cors_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ dec_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ dec_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ dec_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ dem_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ dep_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ feb_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ feb_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ feb_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ jan_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ jan_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ jan_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ jul_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ jul_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ july_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ jun_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ june_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ june_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ mar_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ mar_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ march_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ may_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ may_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ may_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ndvi_0119_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ndvi_0319_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ndvi_0419_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ndvi_0519_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ndvi_0619_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ndvi_1218_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ nov_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ nov_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ nov_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ oct_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ oct_precip_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ oct_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ph_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ph_15_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ ph_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ rgb_0119_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ rgb_0319_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ rgb_0419_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ rgb_0519_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ rgb_0619_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ rgb_1218_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ sep_modmm_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ sep_temp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ slp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ slt_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ slt_15_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ slt_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ snd_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ snd_15_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ snd_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ som_0_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ som_10_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ som_5_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ taxp_250mx : num NA NA NA NA NA NA NA NA NA NA ...
$ taxus_250mx : num NA NA NA NA NA NA NA NA NA NA ...
All of my environmental variables have NA vales, so I think this is where the problem is.
This is where I have got to so far, using one example.
I am importing .tif files into R, then using the raster function. The object looks good and shows the values. It also plots well and produces a histogram of the of the values. However, when I inspect the data slot more closely the values are all NA. It seems this may be the error. However, I am not sure what the problem is?
aspect_250 <- raster("aspect_guanajuato_250m.tif", layer = 1, values = TRUE)
aspect_250
class : RasterLayer
dimensions : 1000, 1000, 1e+06 (nrow, ncol, ncell)
resolution : 249.3105, 217.3383 (x, y)
extent : 175488, 424798.5, 2201959, 2419297 (xmin, xmax, ymin, ymax)
crs : +proj=utm +zone=14 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
names : aspect_guanajuato_250m
values : 4.023071, 354.3721 (min, max)
summary(aspect_250)
aspect_guanajuato_250m
Min. 5.658854
1st Qu. 132.651470
Median 182.637779
3rd Qu. 231.543999
Max. 353.780945
NA's 0.000000
plot(aspect_250)
[1]: https://i.stack.imgur.com/0SZFu.png
str(aspect_250)
Formal class 'RasterLayer' [package "raster"] with 12 slots
..@ file :Formal class '.RasterFile' [package "raster"] with 13 slots
.. .. ..@ name : chr "C:\\Users\\DGUERENA\\Google Drive\\CIMMYT\\IDP\\Soils\\DSM\\DSM_guanajuato\\aspect_guanajuato_250m.tif"
.. .. ..@ datanotation: chr "FLT4S"
.. .. ..@ byteorder : chr "little"
.. .. ..@ nodatavalue : num -Inf
.. .. ..@ NAchanged : logi FALSE
.. .. ..@ nbands : int 1
.. .. ..@ bandorder : chr "BIL"
.. .. ..@ offset : int 0
.. .. ..@ toptobottom : logi TRUE
.. .. ..@ blockrows : int 2
.. .. ..@ blockcols : int 1000
.. .. ..@ driver : chr "gdal"
.. .. ..@ open : logi FALSE
..@ data :Formal class '.SingleLayerData' [package "raster"] with 13 slots
.. .. ..@ values : logi(0)
.. .. ..@ offset : num 0
.. .. ..@ gain : num 1
.. .. ..@ inmemory : logi FALSE
.. .. ..@ fromdisk : logi TRUE
.. .. ..@ isfactor : logi FALSE
.. .. ..@ attributes: list()
.. .. ..@ haveminmax: logi TRUE
.. .. ..@ min : num 4.02
.. .. ..@ max : num 354
.. .. ..@ band : int 1
.. .. ..@ unit : chr ""
.. .. ..@ names : chr "aspect_guanajuato_250m"
..@ legend :Formal class '.RasterLegend' [package "raster"] with 5 slots
.. .. ..@ type : chr(0)
.. .. ..@ values : logi(0)
.. .. ..@ color : logi(0)
.. .. ..@ names : logi(0)
.. .. ..@ colortable: logi(0)
..@ title : chr(0)
..@ extent :Formal class 'Extent' [package "raster"] with 4 slots
.. .. ..@ xmin: num 175488
.. .. ..@ xmax: num 424799
.. .. ..@ ymin: num 2201959
.. .. ..@ ymax: num 2419297
..@ rotated : logi FALSE
..@ rotation:Formal class '.Rotation' [package "raster"] with 2 slots
.. .. ..@ geotrans: num(0)
.. .. ..@ transfun:function ()
..@ ncols : int 1000
..@ nrows : int 1000
..@ crs :Formal class 'CRS' [package "sp"] with 1 slot
.. .. ..@ projargs: chr "+proj=utm +zone=14 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
..@ history : list()
..@ z : list()
head(aspect_250[], 200)
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[56] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[111] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[166] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
From previous posts I tried readALL, nothing.
aspect.all <- readAll(aspect_250)
str(aspect.all)
str(aspect.all)
Formal class 'RasterLayer' [package "raster"] with 12 slots
..@ file :Formal class '.RasterFile' [package "raster"] with 13 slots
.. .. ..@ name : chr "C:\\Users\\DGUERENA\\Google Drive\\CIMMYT\\IDP\\Soils\\DSM\\DSM_guanajuato\\aspect_guanajuato_250m.tif"
.. .. ..@ datanotation: chr "FLT4S"
.. .. ..@ byteorder : chr "little"
.. .. ..@ nodatavalue : num -Inf
.. .. ..@ NAchanged : logi FALSE
.. .. ..@ nbands : int 1
.. .. ..@ bandorder : chr "BIL"
.. .. ..@ offset : int 0
.. .. ..@ toptobottom : logi TRUE
.. .. ..@ blockrows : int 2
.. .. ..@ blockcols : int 1000
.. .. ..@ driver : chr "gdal"
.. .. ..@ open : logi FALSE
..@ data :Formal class '.SingleLayerData' [package "raster"] with 13 slots
.. .. ..@ values : num [1:1000000] NA NA NA NA NA NA NA NA NA NA ...
.. .. ..@ offset : num 0
.. .. ..@ gain : num 1
.. .. ..@ inmemory : logi TRUE
.. .. ..@ fromdisk : logi FALSE
.. .. ..@ isfactor : logi FALSE
.. .. ..@ attributes: list()
.. .. ..@ haveminmax: logi TRUE
.. .. ..@ min : num 4.02
.. .. ..@ max : num 354
.. .. ..@ band : int 1
.. .. ..@ unit : chr ""
.. .. ..@ names : chr "aspect_guanajuato_250m"
..@ legend :Formal class '.RasterLegend' [package "raster"] with 5 slots
.. .. ..@ type : chr(0)
.. .. ..@ values : logi(0)
.. .. ..@ color : logi(0)
.. .. ..@ names : logi(0)
.. .. ..@ colortable: logi(0)
..@ title : chr(0)
..@ extent :Formal class 'Extent' [package "raster"] with 4 slots
.. .. ..@ xmin: num 175488
.. .. ..@ xmax: num 424799
.. .. ..@ ymin: num 2201959
.. .. ..@ ymax: num 2419297
..@ rotated : logi FALSE
..@ rotation:Formal class '.Rotation' [package "raster"] with 2 slots
.. .. ..@ geotrans: num(0)
.. .. ..@ transfun:function ()
..@ ncols : int 1000
..@ nrows : int 1000
..@ crs :Formal class 'CRS' [package "sp"] with 1 slot
.. .. ..@ projargs: chr "+proj=utm +zone=14 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
..@ history : list()
..@ z : list()
all(is.na(r[]))
– Spacedman Jul 31 at 17:45