我想为R中的caret glm模型计算VIF(方差膨胀因子)。这是我的代码,数据集来自UCI:
library(caret)
library(tidyverse)
url <- paste0("https://archive.ics.uci.edu/ml/machine-learning-databases/",
"00267/data_banknote_authentication.txt")
dataset <- read_csv(url, col_names = c("varWav","skeWav","curtWav","entropy","class"))
dataset$class <- as.factor(ifelse(dataset$class == 0,"Authentic","Forgery"))
idx <- createDataPartition(dataset$class, p = 0.8, list = FALSE)
train_set <- dataset[idx,]
test_set <- dataset[-idx,]
notes_model <- train(class ~.,
data = train_set,
method = "glm")
但是当我尝试运行这段代码时,它会返回一个错误:
car::vif(notes_model)
使用方法("vcov")出错: 针对类别为 "c('train', 'train.formula')" 的对象未应用可适用的方法。
也许我的代码有误?请帮忙看看,非常感谢。