我有一个测深光栅和一个边界网格形状文件。
我无法隔离lapply生成的列表的“values”列。
目的是将栅格平均值列用作shapefile中的新列
library("sf")
library("raster")
download.file("https://transfer.sh/T8BJjo/Raster.tif", destfile = "Raster.tif", method = "curl")
Raster_Data <- raster("Raster.tif")
download.file("https://transfer.sh/FgqHhS/HexGridShapefile.gpkg", destfile = "HexGridShapfile.tif", method = "curl")
GridShapefile <- st_read("HexGridShapfile.tif")
Raster_Values <- extract(Raster_Data, GridShapefile)
Mean_Raster_Values <- lapply(Raster_Values, FUN=mean)
#Extract Mean Values and set them to Column of Shapefile
GridShapefile$Raster_Values <- Mean_Raster_Values[[3]] # INCORRECT IMPLEMENTATION
最后一行应分配Mean_Raster_Values列表对象中的整个第三列,但3仅提供第三行
如何访问Mean_Raster_Values的第三列?
1条答案
按热度按时间pkmbmrz71#
我们可能需要将
unlist
list
转换为vector
,因为每个列表元素都是数值并且是单个值(mean
返回单个数值输出)如果我们使用
sapply
而不是lapply
,它将返回一个向量,默认情况下为sapply
中的simplify = TRUE
,因此我们可以直接创建列