如何将堆栈中的栅格图层组合成数据框 R

Her*_*rot 2 stack r dataframe

我有一个由光栅组成的堆栈

s<-stack(list of ASCI files)
Run Code Online (Sandbox Code Playgroud)

我正在尝试执行此操作

df<-as.data.frame(c(s[[1]],s[[2]],s[[2]],s[["bathymetry"]]))
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误

Error in as.data.frame.default(x[[i]], optional = TRUE) : 
cannot coerce class "structure("RasterLayer", package = "raster")" to a data.frame
Run Code Online (Sandbox Code Playgroud)

当我在单个栅格上执行此操作时,例如

df<-as.data.frame(s[[1]])
Run Code Online (Sandbox Code Playgroud)

一切正常。但是我必须提取许多栅格并将它们组合在一个数据框中。我现在看到的唯一解决方案是单独提取它们然后组合它们,有没有更好的解决方案?我一次处理数百个栅格。

编辑:我还应该补充一点,这个函数进入一个循环,我只是在每个循环中提取栅格的一个子集。

Sim*_*lon 5

或者用...

data.frame( rasterToPoints( s ) )
Run Code Online (Sandbox Code Playgroud)

之后删除您不想要的列。