将lapply与返回SpatialPixelsDataFrame

时间:2019-10-06 22:41:57

标签: r spatial sp

我正在尝试使用一个函数,该函数使用lapply返回SpatialPixelsDataFrame对象,并不断出现以下错误

  

.printSpatial(x)中的错误:找不到对象'nf'

我的实际函数读取一个csv并应用克里金法,但我发现即使是非常非常简单的函数也会发生相同的事情。我使用默认数据做了一个简单的示例,其中使用lapplylist会返回此错误。

因此,如果列表中没有sp个对象,无论如何我都可以对不同的输入(在我的真实数据中为csv文件)运行一个函数以获取输出?

  library(sp)

data(meuse.grid)

datalist <- list(meuse.grid, meuse.grid)

testout1 <- lapply(datalist,SpatialPixelsDataFrame,points = meuse.grid[c("x", "y")])
testout1 
[[1]]
class       : SpatialPixelsDataFrame 
dimensions  : 104, 78, 3103, 7  (nrow, ncol, npixels, nlayers)
resolution  : 40, 40  (x, y)
Error in .printSpatial(x) : object 'nf' not found


grid1 = SpatialPixelsDataFrame(points = meuse.grid[c("x", "y")], data = meuse.grid)
grid2 = SpatialPixelsDataFrame(points = meuse.grid[c("x", "y")], data = meuse.grid)
 # both grid 1 and grid two successfully return grids - don't want to print the whole thing

testout2 <- list(grid1,grid2)
testout2
[[1]]
class       : SpatialPixelsDataFrame 
dimensions  : 104, 78, 3103, 7  (nrow, ncol, npixels, nlayers)
resolution  : 40, 40  (x, y)
Error in .printSpatial(x) : object 'nf' not found

reprex package(v0.3.0)于2019-10-07创建

0 个答案:

没有答案