Fits SocialScore ~ . on the supplied data frame and returns Variance
Inflation Factors (VIF) for every predictor, together with a severity
label. VIF > 10 indicates severe multicollinearity; VIF > 5 indicates
moderate multicollinearity.
This is a convenience wrapper around car::vif() that adds the severity
classification and sorts the output from highest to lowest VIF.
Arguments
- data
A data frame with the same column names as lifecalc. Defaults to the bundled
lifecalcdataset.
Value
A data frame with columns variable, vif, and severity
("severe", "moderate", or "acceptable"), sorted by descending VIF.
Examples
data(lifecalc)
vif_df <- lifecalc_vif(lifecalc)
print(vif_df)
#> variable vif severity
#> 1 DistrictScore 9.00 moderate
#> 2 EmploymentScore 6.06 moderate
#> 3 EducationScore 5.43 moderate
#> 4 MobilityScore 4.26 acceptable
#> 5 MedicalScore 3.80 acceptable
#> 6 ConsumptionScore 3.78 acceptable
#> 7 LiteracyScore 3.33 acceptable
#> 8 NetworkScore 3.10 acceptable
#> 9 RecoveryScore 2.62 acceptable
#> 10 CuriosityScore 2.48 acceptable
#> 11 SleepScore 2.31 acceptable
#> 12 NutritionScore 2.18 acceptable
#> 13 ChronicLoadScore 1.96 acceptable
#> 14 VerificationScore 1.89 acceptable
#> 15 prior_flag 1.82 acceptable
#> 16 AttentionScore 1.71 acceptable
#> 17 StressIndex 1.66 acceptable
#> 18 NarrativeScore 1.53 acceptable
#> 19 GeneticRiskScore 1.39 acceptable
#> 20 RoutineScore 1.37 acceptable
#> 21 ComplianceScore 1.31 acceptable
#> 22 DisplacementScore 1.05 acceptable
#> 23 gender 1.04 acceptable
#> 24 age 1.00 acceptable
# How many variables have severe multicollinearity?
sum(vif_df$severity == "severe")
#> [1] 0