Why multicollinearity increases with country fixed effects in linear model in r

I'm playing with some multiple linear regression models in r. After I run a regression, I use vif() to see if there is multicollinearity between my predictors. For the model with fixed effects for countries (factor(countryname)), vif() gives incredibly high results for some of the predictors. I would like to know why?

• How many countries do you have exactly? May 24 at 18:16
• 149. It's a high number, but it's standard practice in pol sci to include dummy variables for such a large number of countries. May 24 at 18:18
• So you're using vif() from the car package. The answer here should help. May 24 at 20:39
• Every field has its standards and routine practices. That's not a defense of practice as usual, but I've found that there is often some methodological lineage within fields that often arose from a specific need but then crept into more and more unhelpful applications. I can't speak for your field, but I know that in psychology it can be hard to find people who actually check the assumptions of regression. We've been taught it's "robust" and seemingly are happy to abuse it. Your description makes me wonder whether mixed models are better with countries as a random factor May 25 at 13:07
• @KenLee In regard to your other concern, it isn't "flawed" to adjust for covariates. So long as GDP and/or population size vary over time, then it is permissible to include them. May 25 at 19:23

Technically, the vif() function in the car package is estimating generalized variance inflation factors (GVIFs). Instead of treating each of the $$N - 1$$ country effects separately, it estimates a "combined measure" of collinearity. In my experience, it is not uncommon to see wildly inflated GVIFs in settings with 150 countries. I wouldn't even calculate the GVIFs for the country dummies since they're considered as a "group" of predictors and not as separate country-specific intercepts.