我是 R 中的 stars 包的新手,我正在尝试研究如何为二维星对象中的单元格分配新值(光栅包中的光栅)。使用光栅我可以执行以下操作
> library("raster")
> library('stars')
> tif = system.file("tif/L7_ETMs.tif", package = "stars")
> ras<-brick(tif)[[2]] #create raster layer from 2nd layer of multilayer tif
> ras[1,1:5] #see first 5 values of top row of ras
[1] 56 57 52 45 52
> ras[1,1:4] <-100 #replace first 4 values of top row of ras
> ras[1,1:5]
[1] 100 100 100 100 52
根据 stars 包手册中的 st_subset 说明,分配遵循 'x[i]<-value' 但我很难理解在这种情况下使用 'i'。我失败的尝试如下,但我希望有人可以提供一个可行的替代方案。
> tif = system.file("tif/L7_ETMs.tif", package = "stars")
> st<-read_stars(tif)[,,,2] #create raster layer from second layer of multilayer tif
> unlist(st[,1:5,1,]) #see first 5 values of top row of st
L7_ETMs.tif1 L7_ETMs.tif2 L7_ETMs.tif3 L7_ETMs.tif4 L7_ETMs.tif5
56 57 52 45 52
> st[,1:4,1,]<-100 #replace first 4 values of top row of ras
Error in `[<-.stars`(`*tmp*`, , 1:4, 1, , value = 100) :
unused arguments (alist(1:4, 1, ))
非常感谢