[R] fitting the null loglinear model with MASS::loglm??
Michael Friendly
friendly at yorku.ca
Sat Jul 6 14:30:56 CEST 2013
The null loglinear model is an intercept-only model for log frequency,
log(f) = \mu
For a one-way table the test of the null model is the same as the
chisq.test.
This can be fit using loglin(), but I don't think there is any way to
specify this using MASS::loglm
> t1<- margin.table(Titanic,1)
> t1
Class
1st 2nd 3rd Crew
325 285 706 885
> loglin(t1, NULL)
0 iterations: deviation
$lrt
[1] 475.8113
$pearson
[1] 467.8069
$df
[1] 3
$margin
NULL
> chisq.test(t1)
Chi-squared test for given probabilities
data: t1
X-squared = 467.8069, df = 3, p-value < 2.2e-16
The problem is that loglm() allows the 'convenience' of using integers
rather than names to specify
terms in the model, e.g., 1+2+3, so there is no way AFAICS to specify an
intercept-only model.
That is, below, the model ~1 is actually the saturated model for the
one-way table.
> loglm(~NULL, t1)
Error in denumerate.formula(formula) : node stack overflow
> loglm(~0, t1)
Error in double(nmar) : vector size cannot be NA/NaN
> loglm(~1, t1)
Call:
loglm(formula = ~1, data = t1)
Statistics:
X^2 df P(> X^2)
Likelihood Ratio 0 0 1
Pearson 0 0 1
>
--
Michael Friendly Email: friendly AT yorku DOT ca
Professor, Psychology Dept. & Chair, Quantitative Methods
York University Voice: 416 736-2100 x66249 Fax: 416 736-5814
4700 Keele Street Web: http://www.datavis.ca
Toronto, ONT M3J 1P3 CANADA
More information about the R-help
mailing list