R 例如';光栅化&x27;文档不起作用?
我经常使用R 例如';光栅化&x27;文档不起作用?,r,r-raster,R,R Raster,我经常使用raster包中的rasterize函数。如文档所示,通过fun参数使用的任何自定义函数都需要接受na.rm参数。这通常意味着自定义函数是用“点”编写的,即: funA <- function(x,...)length(x) 然而,这似乎不起作用!此示例中,一些随机点分布在网格上,但失败: # Create a grid grid <- raster(ncols=36, nrows=18) # Scatter some random points within the
raster
包中的rasterize
函数。如文档所示,通过fun
参数使用的任何自定义函数都需要接受na.rm
参数。这通常意味着自定义函数是用“点”编写的,即:
funA <- function(x,...)length(x)
然而,这似乎不起作用!此示例中,一些随机点分布在网格上,但失败:
# Create a grid
grid <- raster(ncols=36, nrows=18)
# Scatter some random points within the grid
pts <- spsample(as(extent(grid), "SpatialPolygons"), 100, type = "random")
# Give them a random data field
pts <- SpatialPointsDataFrame(pts, data.frame(field1 = runif(length(pts))))
# Try rasterize
rasterize(pts, grid, field = "field1", fun = funB)
#创建网格
网格你很接近
函数B应该如下所示:
funB <- function(x, na.rm=T) if (na.rm) length(na.omit(x))
rasterize(pts, grid, field = "field1", fun = funB)
应该行得通,但不行。可能是光栅包的问题。Aha。那对我来说肯定有用。非常感谢
funB <- function(x, na.rm=T) if (na.rm) length(na.omit(x))
rasterize(pts, grid, field = "field1", fun = funB)
funB <- function(x, na.rm) if (na.rm) length(na.omit(x))
rasterize(pts, grid, field = "field1", fun = funB, na.rm=TRUE)