为什么在R中运行vif()函数时出错?

为什么在R中运行vif()函数时出错?,r,correlation,diagnostics,R,Correlation,Diagnostics,我正在检查我的数据的多重共线性,并使用3个测试,即Spearman相关性、条件数和方差信息因子(VIF)。当我试图在R中运行VIF代码时,会出现错误提示 我已经设法运行了Spearman相关性和条件数,并删除了高度相关的变量,其中r值的截止值为0.3。接下来,我尝试使用R中的vif()函数检查每个变量的vif Data <- read.csv("Data.csv") names(Data) attach(Data) dim(Data) sapply(Data,class) #selec

我正在检查我的数据的多重共线性,并使用3个测试,即Spearman相关性、条件数和方差信息因子(VIF)。当我试图在R中运行VIF代码时,会出现错误提示

我已经设法运行了Spearman相关性和条件数,并删除了高度相关的变量,其中
r值
的截止值为0.3。接下来,我尝试使用
R
中的
vif()
函数检查每个变量的vif

Data <- read.csv("Data.csv")
names(Data)
attach(Data)
dim(Data)

sapply(Data,class)

#selecting explanatory variables
DataRed <- Data[,c(4:8,10:73)]
dim(PrepaidMatRed)
#setting my data as a data frame
DataDF <- data.frame(DataRed,row.names = NULL,check.rows = FALSE,check.names = TRUE)

VIF <- vif(DataDF)

不需要使用attach()
fortunes::fortune(379)
vif的第一个参数通常是一个拟合的模型对象。有时也会是这种型号的summary()对象。,而不是dataframe@Clemsang-你是说我必须先适应BLR,然后检查VIF?确切地说,首先适应模型没有必要使用attach()
fortunes::fortune(379)
VIF的第一个参数通常是
一个适应模型对象。有时也会是这种型号的summary()对象。
,而不是dataframe@Clemsang-那么你是说我必须安装BLR,然后检查VIF?准确地说,首先安装模型
Error in vcov.default(mod) : 
there is no vcov() method for models of class data.frame