I have a data frame in which values (l) are specified for Cartesian coordinates (x, y) as in the following minimal working example.
set.seed(2013) df <- data.frame( x = rep( 0:1, each=2 ), y = rep( 0:1, 2), l = rnorm( 4 )) df # x y l # 1 0 0 -0.09202453 # 2 0 1 0.78901912 # 3 1 0 -0.66744232 # 4 1 1 1.36061149
I want to create a raster using the raster package, but my reading of the documentation has not revealed a simple method for loading data in the form that I have it into the raster cells. I've come up with a couple ways to do it using for loops, but I suspect that there's a much more direct approach that I'm missing.
An easier solution exists as
library(raster) dfr <- rasterFromXYZ(df) #Convert first two columns as lon-lat and third as value plot(dfr) dfr class : RasterLayer dimensions : 2, 2, 4 (nrow, ncol, ncell) resolution : 1, 1 (x, y) extent : -0.5, 1.5, -0.5, 1.5 (xmin, xmax, ymin, ymax) coord. ref. : NA data source : in memory names : l values : -2.311813, 0.921186 (min, max)
Further, you may specify the CRS string. Detailed discussion is available here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With