gpt4 book ai didi

r - 将 "extract"的 RasterPackage 用于 RasterLayer 在 R 中给出错误

转载 作者:行者123 更新时间:2023-12-05 01:43:17 25 4
gpt4 key购买 nike

我想将降水数据与 .csv df 合并。我想通了,它应该与光栅包中的“提取”命令一起使用。这是我的降水数据:

str(precipitation_raster_layer)
Formal class 'RasterLayer' [package "raster"] with 12 slots
..@ file :Formal class '.RasterFile' [package "raster"] with 13 slots

那是我的气候相关援助数据:

str(AID)
'data.frame': 1050 obs. of 21 variables:
$ project_location_id : Factor w/ 1050 levels "P000501_2427123",..: 189 190 191 192 193 194 188 195 196 187 ...
$ precision_code : int 3 3 3 3 3 3 3 3 3 2 ...
$ latitude : num 6.45 6.74 6.47 5.66 6.6 ...
$ longitude : num -1.583 -3.044 -2.333 -0.39 0.467 ...

使用这个命令:

test <- extract(precipitation_raster_layer, AID[,3:4])

Error in UseMethod("extract_") : no applicable method for 'extract_' applied to an object of class "c('RasterLayer', 'Raster', 'BasicRaster')"

如果我将 .csv 转换为 SpatialPointsDataFrame 并尝试运行“提取”,我会收到此错误:

test <- extract(precipitation_raster_layer, AID_spatial_df)

Error in UseMethod("extract_") : no applicable method for 'extract_' applied to an object of class "c('RasterLayer', 'Raster', 'BasicRaster')"

我真的不明白为什么它说我的对象不是RasterLayer。

感谢任何帮助。

最佳答案

我的猜测是,在加载 raster 之后,您加载了另一个包,该包也有一个 extract 方法,该方法从 raster 中隐藏了该方法.

仅加载您需要的包,并尝试从 raster 显式调用 extract 方法:

raster::extract(precipitation_raster_layer, AID[, 4:3])

注意应该是 AID[, 4:3]不是 AID[, 3:4],因为正确的顺序是经度,纬度。但这不是您收到错误的原因。

关于r - 将 "extract"的 RasterPackage 用于 RasterLayer 在 R 中给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49772031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com