[R-sig-Geo] raster to dataframe with xy=TRUE, na.rm=TRUE

Pascal Oettli kridox at ymail.com
Fri Aug 29 07:17:27 CEST 2014


Hello,

Did you try with the "rasterToPoints" function?

Something like:

r1.b.df <- as.data.frame(rasterToPoints(r1.b.mask))
coordinates(r1.b.df) <- ~x+y
plot(r1.b.df)

Regards,
Pascal

On Fri, Aug 29, 2014 at 1:52 PM, Helen Sofaer <helen at rams.colostate.edu> wrote:
> Hi all,
>
> I’m trying to convert a RasterBrick to a dataframe while adding the
> coordinates and while dropping cells that were masked to NA. This
> combination of options gives me an error when the mask is done with an sp
> object.
>
>
>
> Some reproducible code:
>
>
>
> usa = getData('GADM', country = 'USA', level = 0)
>
>
>
> r1 = raster()
>
> values(r1) = 1:ncell(r1)
>
> r1.b = brick(r1, r1, r1, r1)
>
> r1.b.mask = mask(r1.b, usa)
>
> plot(r1.b.mask)
>
> r1.b.df = as.data.frame(r1.b.mask, xy = TRUE, na.rm = TRUE)
>
>
>
> The error is:
>
> Error in data.frame(..., check.names = FALSE) :
>
>   arguments imply differing number of rows: 64800, 1109
>
>
>
> Looks like it wants to combine all the coordinates with just the subset of
> the data.
>
>
>
> I surprised myself further by looking at what happens if the NAs are in
> random locations, rather than masked out:
>
>
>
> # random NAs:
>
> r2 = raster()
>
> vals = 1:ncell(r2)
>
> vals[sample(1:ncell(r2), .5*ncell(r2))] = NA
>
> values(r2) = vals
>
> plot(r2)
>
> r2.b = brick(r2, r2, r2, r2)
>
> r2.b.df = as.data.frame(r2.b, xy = TRUE, na.rm = TRUE)
>
> str(r2.b.df) # 64800 obs; same as ncell in each layer; further inspection
> shows all locations are there and some values are repeated
>
>
>
> Any advice/interpretation is appreciated. In practice I have already
> cropped but still have a lot of NAs within my extent. Of course, I can drop
> the rows afterwards, but thought I’d ask. Also, I see the same thing if
> it’s a single layer, rather than a brick.
>
>
>
> FYI, I’m running 3.1.1 and raster version 2.2-31 and a Mavericks OSX (and I
> also tried it on a Fedora linux machine running 3.1.0 to make sure it
> wasn’t a Mavericks thing).
>
>
>
> Thanks for your time!
>
> Helen
>
> --
> Helen Sofaer
> Postdoctoral Fellow
> Fish Wildlife and Conservation Biology
> Colorado State University
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo



-- 
Pascal Oettli
Project Scientist
JAMSTEC
Yokohama, Japan



More information about the R-sig-Geo mailing list