【问题标题】:How to use lapply over a list of rasters如何在栅格列表上使用 lapply
【发布时间】:2016-12-22 11:05:34
【问题描述】:

我有一个栅格,我需要比较第一行和最后一行的值。 (我想知道,是否有一个连接顶部和底部的集群) 这就是我所做的:

V1=getValues(r,row=1)
V1=V1[V1!=0]
V1=unique(V1)

与最后一行相同。 然后我这样做:

V1 %in% V2

没关系。它正在工作。但我需要对许多栅格进行此操作。 我考虑过用这几个栅格创建一个列表,并在列表的每个栅格上运行上面的脚本。我以为我可以用lapply 做到这一点,但我不知道该怎么做。

或者也许有可能取回某种数据框或类似的东西

raster     connected 
r1         TRUE
r2         FALSE
r3         FALSE
...        ...

【问题讨论】:

    标签: r list dataframe lapply raster


    【解决方案1】:
    FUN.raster <- function(r) {
      x <- getValues(r, row = 1)
      x <- x[x!=0]
      x <- unique(x)
    
      y <- getValues(r, row = nrow(r))
      y <- y[y!=0]
      y <- unique(y)
    
      x %in% y
    }
    

    然后

    sapply(rasterlist, FUN.raster)
    

    这为您提供了一个 TRUE/FALSE 的布尔向量,其长度为您的 rasterlist。请注意,这是未经测试的,因为您没有提供任何示例数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 2013-02-16
      • 2015-10-10
      • 2019-03-21
      • 1970-01-01
      • 2021-12-10
      • 2015-09-29
      相关资源
      最近更新 更多