我正在尝试构建一些数据结构来接受数据。
r1 = raster(matrix(NA,3,3))
df <- data.frame(a = c(1,2,3), b = c(2,2,2), val = c(10,20,30)) #example of data
然后我希望用基于df的值填充这个光栅。但不是这样,而是基于df$a
和df$b
的值。
plot(r1) #empty
values(r1) <- c(NA, df$val[[1]], NA, NA,df$val[[2]],NA,NA,NA,df$val[[3]]) #unindex filling
plot(r1) #wanted result
我希望清楚地表明我希望实现的目标。其地理位置数据,因此df$a
和df$b
将变为Lon和Lat,df$val
将成为环境变量。图层将成为月平均值。并非所有光栅单元都有变量。
谢谢。
给定光栅和坐标,您可以计算单元编号并使用这些编号来分配值。像这样的
library(raster)
r <- raster(nrows=5, ncols=5, xmn=0, xmx=5, ymn=0, ymx=5)
df <- data.frame(x = c(1,2,3), y = c(2,2,2), val = c(10,20,30))
cells <- cellFromXY(r, df[,1:2])
r[cells] <- df$val
另见?rasterFromXYZ