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

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to