Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 例如';光栅化&x27;文档不起作用?_R_R Raster - Fatal编程技术网

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)