setValues栅格的用例

时间:2016-05-10 21:24:54

标签: r r-raster

我最近偶然发现setValues()形式的raster包,但我想知道这个函数的用例是什么。与普通子集和索引相比是否有任何优势:

r     <- raster(ncol=10, nrow=10)

#setValues Function
r     <- setValues(r, values=1, index=10)

#Normal indexing
r[10] <- 1

两种方式都会产生相同的结果。但是文档说明:

  

虽然您可以访问&#39;值&#39;对象的插槽直接,你   会做你自己的危险,因为设置值时,多个   插槽需要更换;这些功能就是这样做的。

作者在危险中的意思是什么?当我使用普通子集而不是setValues函数或者在性能方面是否有任何优势时,哪些插槽保持不变?

1 个答案:

答案 0 :(得分:1)

setValues的基本用例是,如果要将单元格值的向量分配给(可能为空)RasterLayer。 E.g。

library(raster)
r <- raster(ncol=10, nrow=10)
r <- setValues(r, 1:100)

更多R-idiomatic变种是

values(r) <- 1:100

索引通常用于几个单元格

r[1:5] <- NA

但您也可以使用它来设置所有单元格的值

r[] <- 1:100