You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a A x B design, how do I remove one main effect and keep the other and the interaction term (e.g., remove Group main effect in Group (2) x Time (2) when I do not expect a group difference at pretest)?
I can add terms to a formula:
f1 = @formula y ~ 1 + Time + (1 | Subj);
f1 = f1.lhs ~ (f1.rhs + Term(:Time & :Group) )
m1 = fit(MixedModel, f1, dat; contrasts)
But how can I substract a term? For example, could this be implemented, too?
f2 = @formula y ~ 1 + Time + Group + Time & Group + (1 | Subj);
f2 = f2.lhs ~ (f2.rhs - Term(:Group) )
ERROR: MethodError: no method matching -(::Tuple{ConstantTerm{Int64}, Term, InteractionTerm{Tuple{…}}, FunctionTerm{typeof(|), Vector{…}}}, ::Term)
The function - exists, but no method is defined for this combination of argument types.
One workaround is to extract terms from a fitted model matrix and then assemble the needed ones to a new formula:
However, this becomes very cumbersome with many terms nested under the first one. Or is there a simple loop to assemble a formula selectively from the model matrix? Adding a subtraction method would be very helpful. Thank you.
The text was updated successfully, but these errors were encountered:
The problem applies only to categorical variables in the formula; excluding terms from the formula works as expected when categorical variables are replaced with (sets of) indicator variables. No need for the loop. I leave the issue open for now because the subtraction method would be nice to have anyway. Feel free to close the issue.
In a A x B design, how do I remove one main effect and keep the other and the interaction term (e.g., remove Group main effect in Group (2) x Time (2) when I do not expect a group difference at pretest)?
I can add terms to a formula:
But how can I substract a term? For example, could this be implemented, too?
ERROR: MethodError: no method matching -(::Tuple{ConstantTerm{Int64}, Term, InteractionTerm{Tuple{…}}, FunctionTerm{typeof(|), Vector{…}}}, ::Term)
The function
-
exists, but no method is defined for this combination of argument types.One workaround is to extract terms from a fitted model matrix and then assemble the needed ones to a new formula:
However, this becomes very cumbersome with many terms nested under the first one. Or is there a simple loop to assemble a formula selectively from the model matrix? Adding a subtraction method would be very helpful. Thank you.
The text was updated successfully, but these errors were encountered: