在远处计算vif:在`[[<;-.data.frame`(`*tmp*`,i,value=c)中出错(828L,828L,828L,828L,:替换有4928行,数据有704行
您好,我正试图在在远处计算vif:在`[[<;-.data.frame`(`*tmp*`,i,value=c)中出错(828L,828L,828L,828L,:替换有4928行,数据有704行,r,R,您好,我正试图在faraway软件包中计算方差通货膨胀系数(vif)。我对R非常陌生,请耐心听我说 这是我的数据集: str(SMB) 'data.frame': 1266 obs. of 30 variables: $ X2011 : int 550 547 543 546 544 548 545 549 42 49 ... $ CatchID : num 0.5 0.2 0.6 0.1 0.7 0.3 0.8 0.4 1 2 ... $ Stomach
faraway
软件包中计算方差通货膨胀系数(vif)。我对R非常陌生,请耐心听我说
这是我的数据集:
str(SMB)
'data.frame': 1266 obs. of 30 variables:
$ X2011 : int 550 547 543 546 544 548 545 549 42 49 ...
$ CatchID : num 0.5 0.2 0.6 0.1 0.7 0.3 0.8 0.4 1 2 ...
$ StomachID : int 5 2 6 1 7 3 8 4 NA 304 ...
$ Date : Factor w/ 68 levels "2011-06-18","2011-06-22",..: 1 1 1 1 1 1 1 1 43 43 ...
$ Lake : Factor w/ 9 levels "Beaver Lake",..: 6 6 6 6 6 6 6 6 1 1 ...
$ Year : int 2011 2011 2011 2011 2011 2011 2011 2011 2012 2012 ...
$ Site. : int 1 1 1 1 1 1 1 1 1 2 ...
$ Set. : int 0 0 0 0 0 0 0 0 1 2 ...
$ SampleMeth : Factor w/ 3 levels "GN","MN","SG": 1 1 1 1 1 1 1 1 1 1 ...
$ Habitat : Factor w/ 6 levels "","BARE","MIX",..: 3 3 3 3 3 3 3 3 1 6 ...
$ DegDays : int 209 209 209 209 209 209 209 209 NA 155 ...
$ Weight.g. : num 1093 635 1583 607 1651 ...
$ Length.mm. : num 453 360 480 345 480 373 482 400 195 269 ...
$ CondFactor : Factor w/ 147 levels "#DIV/0!","0",..: 47 65 72 77 78 79 82 88 84 61 ...
$ Age : num NA NA NA NA NA NA NA NA NA 2.3 ...
$ Species : Factor w/ 6 levels "CT","KO","PMB",..: 5 5 5 5 5 5 5 5 5 5 ...
$ Fish..Set : int 8 8 8 8 8 8 8 8 4 4 ...
$ SppDiv.Set : int 1 1 1 1 1 1 1 1 1 1 ...
$ Fish..Spp.Set: int 8 8 8 8 8 8 8 8 1 3 ...
$ Soak.Hrs. : num 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 2.02 2.02 ...
$ CT_CPUE : num 0 0 0 0 0 0 0 0 0 0 ...
$ RB_CPUE : num 0 0 0 0 0 0 0 0 0 0 ...
$ SMB_CPUE : num 6.67 6.67 6.67 6.67 6.67 6.67 6.67 6.67 0.5 1.49 ...
$ KOK.CPUE : num 0 0 0 0 0 0 0 0 0 0 ...
$ YP.CPUE : Factor w/ 21 levels "#DIV/0!","0",..: 2 2 2 2 2 2 2 2 2 2 ...
$ PMB.CPUE : num 0 0 0 0 0 0 0 0 0 0 ...
$ TotalEn : num 33894 892 32386 1901 32764 ...
$ PreyDiv : int 1 2 1 5 1 3 1 2 NA 1 ...
$ CrayPresent : int 0 0 0 0 0 0 0 0 0 0 ...
$ CrayAbund : num 0 0 0 0 0 0 0 0 0 0 ...
vif(SMB[,-30]) or vif(SMB)
当我尝试计算vif时,我得到以下错误:
[[请提供一个可复制的示例。我使用了car::vif(model)
在过去,它需要一个模型而不是一个数据帧。你应该检查faraway
软件包是否也是如此。我已经解决了这个问题。我的一个变量是分类变量,只能对连续数据计算VIF。faraway软件包使用数据帧,这对原始探索非常有帮助在我的例子中。谢谢大家的支持!我的解决方案是创建一个只包含必要连续变量的新向量(去掉我不需要的列)SMB5