在 R 中使用 RasterBrick 从 usdm 运行 vifstep() 时出错

问题描述 投票:0回答:1

我正在尝试使用 RasterBrick 从 R 中的 usdm 运行 vifstep 函数,但出现以下错误:

model.frame.default(formula = .dd[, i] ~ ., data = .dd[-i], drop.unused.levels = TRUE) 中的错误: “数据”必须是数据框、环境或列表

> class(pred.mask)
[1] "RasterBrick"
attr(,"package")
[1] "raster"

> vif.step <- usdm::vifstep(pred.mask,
                          th = 5,
                          method = "pearson")
Error in model.frame.default(formula = .dd[, i] ~ ., data = .dd[-i], drop.unused.levels = TRUE) : 
  'data' must be a data.frame, environment, or list

我期待它能起作用,因为该函数的帮助定义数据可以是“光栅对象(RasterStack或RasterBrick或SpatRaster),或者作为矩阵,或者作为data.frame。”

r raster r-raster multicollinearity
1个回答
0
投票

你找到解决办法了吗?我在使用 rasterstack 作为输入运行 usdm::vifcor 时遇到了同样的问题。给我错误:

model.frame.default(formula = as.formula(paste(colnames(y)[w[i]])中的错误: 'data' 必须是 data.frame,而不是矩阵或数组

© www.soinside.com 2019 - 2024. All rights reserved.