[R-sig-ME] vif using GLMMadaptive

Fox, John j|ox @end|ng |rom mcm@@ter@c@
Mon May 4 00:00:27 CEST 2020


Hi Ben,

> On May 3, 2020, at 4:34 PM, Ben Bolker <bbolker using gmail.com> wrote:
> 
>     My advice would be to sort out the underlying problem (which is *not* at all related to mixed models)   and not move to mixed models in the hope that that will fix something.  I believe (but am not sure) that you're using vif() from the car package?
> 
>    * you may be able to un-alias your variables by eliminating the 'main effect' terms in your model;  in R formula syntax,  A*B is equivalent to  1+A+B+A:B.  So dropping the main effects that are already included in the * terms, or switching from * to : for interactions, may solve your problem.

I don't think so: That is, when the formula is processed, the redundancies introduced by the mistaken use of * should automatically be accounted for, as in the following:

> D <- data.frame(a=factor(rep(c("a", "b"), 2)), b=factor(rep(c("A", "B"), each=2)))
> D
  a b
1 a A
2 b A
3 a B
4 b B

> model.matrix(~1 + a + b + a*b, data=D)
  (Intercept) ab bB ab:bB
1           1  0  0     0
2           1  1  0     0
3           1  0  1     0
4           1  1  1     1
attr(,"assign")
[1] 0 1 2 3
attr(,"contrasts")
attr(,"contrasts")$a
[1] "contr.treatment"

attr(,"contrasts")$b
[1] "contr.treatment"

The problem is probably more fundamental, as has already been suggested.

Best,
 John

> 
> On 5/1/20 2:12 AM, Matos, Grisenia wrote:
>> I am a PhD student and am working on a school  project due over the weekend.  I ran the following regression:
>> spending.REG <- glm.nb(spending_count ~ conservative + liberal + moderate + trust_gov + liberal*trust_gov + conservative*trust_gov + moderate*trust_gov + income + education + age + female + white + budget_difficult + democrat + republican, data = Trustdata1)
>> 
>> I attempted to get a vif score and got this error in R Studio: there are aliased coefficients in the model
>> 
>> The variables conservative, liberal and moderate are fixed effect where they are either 0 or 1.  The female variable is a 0 or 1.  There are three interactive variables:  moderate*trust_gov, liberal*trust_gov, and conservative*trust_gov.  Moreover, moderate and moderate*trust_gov are the base variables.
>> 
>> I would like to calculate the vif for the regression equation.  First, in order to get rid of the error and thereafter calculate the vif scores, I attempted to use your code:
>> 
>> library("GLMMadaptive")
>> 
>> fm <- mixed_model(y ~ time + sex, random = ~ 1 | id, data = <your_data>,
>> family = zi.negative.binomial(), zi_fixed = ~ sex, zi_random = ~ 1 | id)
>> 
>> it returned an error: unexpected '=' in: "erate + trust_gov + liberal*trust_gov + conservative*trust_gov + moderate*trust_gov + income + education + age + female + white + budget_difficult + democrat + republican, random = 1 | id, dat
>>                   +                   family ="
>> 
>> Please provide guidance as to what I am doing incorrectly.  I appreciate your help.
>> 
>> Thanks,
>> 
>> Grisenia
>> 
>> 
>> 
>> 
>> 
>> 	[[alternative HTML version deleted]]
>> 
>> _______________________________________________
>> R-sig-mixed-models using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> 
> _______________________________________________
> R-sig-mixed-models using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models



More information about the R-sig-mixed-models mailing list