We should use "*" consistently for interactions. Currently, we use : to denote nested effects, but it might be confusing (because ":" is used to add specific interactions in formulas)... maybe another symbol would be better like a dash or / (so that it's straightforward).
Mmh, let me try to recap, as I feel like this is a pretty nightmarish stuff, and getting this right would tremendously help users to understand the meaning of the parameters. Warning: it might be hairpulling
all interactions '*' vs. specific interactions ":" vs. nested effects '/'
So here, m1, m2 and m4 are the same models, because they allow a different intercept for each Species + its differentiated modulation by Petal.Length. m3 is different because, while the slope is allowed to be modulated by Species, there is no different intercept allowed for Species (all the lines must origin from 0).
That said, it's all about interactions here (i.e., a * b is a placeholder for a + b + a:b), so in parameters, all of them should be denoted by * (which we use for interactions instead of ':', which I find clearer [and also because R uses ':' for interactions and nested effects and we need to differentiate]), which is not the case currently:
Here, while it is the same model (in the case of a variable nested in a factor (spoiler, it gets weird when it's in a numeric)), it's the same model, but the parameters represent different things. In the case of the nested model, the effects are pretty much regular effects (i.e., the coefficient of the slope) estimated "within" each level. So it's conceptually different than interactions (which evaluates the change in another effect). So currently we denote nested by : but it might be confusing, so maybe we should replace by / or | to show that it's "the effect of x within the factor level.
Now I'm trying to wrap my head around nested effects for continuous... and I didn't even want to look at more than 2 variables ^^
We should use "*" consistently for interactions. Currently, we use
:
to denote nested effects, but it might be confusing (because ":" is used to add specific interactions in formulas)... maybe another symbol would be better like a dash or/
(so that it's straightforward).Mmh, let me try to recap, as I feel like this is a pretty nightmarish stuff, and getting this right would tremendously help users to understand the meaning of the parameters. Warning: it might be hairpulling
all interactions '*' vs. specific interactions ":" vs. nested effects '/'
Simple case 1 - factor and numeric
'*' vs. ':'
Created on 2020-11-10 by the reprex package (v0.3.0)
So here, m1, m2 and m4 are the same models, because they allow a different intercept for each Species + its differentiated modulation by Petal.Length. m3 is different because, while the slope is allowed to be modulated by Species, there is no different intercept allowed for Species (all the lines must origin from 0).
That said, it's all about interactions here (i.e.,
a * b
is a placeholder for a + b + a:b), so in parameters, all of them should be denoted by*
(which we use for interactions instead of ':', which I find clearer [and also because R uses ':' for interactions and nested effects and we need to differentiate]), which is not the case currently:Created on 2020-11-10 by the reprex package (v0.3.0)
'*' vs. '/'
Created on 2020-11-10 by the reprex package (v0.3.0)
Here, while it is the same model (in the case of a variable nested in a factor (spoiler, it gets weird when it's in a numeric)), it's the same model, but the parameters represent different things. In the case of the nested model, the effects are pretty much regular effects (i.e., the coefficient of the slope) estimated "within" each level. So it's conceptually different than interactions (which evaluates the change in another effect). So currently we denote nested by
:
but it might be confusing, so maybe we should replace by/
or|
to show that it's "the effect of x within the factor level.Now I'm trying to wrap my head around nested effects for continuous... and I didn't even want to look at more than 2 variables ^^
Originally posted by @DominiqueMakowski in https://github.com/easystats/parameters/issues/330#issuecomment-724442409