我正在尝试使用 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。”
你找到解决办法了吗?我在使用 rasterstack 作为输入运行 usdm::vifcor 时遇到了同样的问题。给我错误:
model.frame.default(formula = as.formula(paste(colnames(y)[w[i]])中的错误: 'data' 必须是 data.frame,而不是矩阵或数组