Skip to contents

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.

Usage

lifecalc_vif(data = lifecalc)

Arguments

data

A data frame with the same column names as lifecalc. Defaults to the bundled lifecalc dataset.

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