| Kway {vcdExtra} | R Documentation | 
Fit All K-way Models in a GLM
Description
Generate and fit all 0-way, 1-way, 2-way, ... k-way terms in a glm.
This function is designed mainly for hierarchical
loglinear models (or glms
in the poisson family), where it is desired to find the 
highest-order terms necessary to achieve a satisfactory fit.
Using anova on the resulting glmlist
object will then give sequential tests of the pooled contributions of
all terms of degree k+1 over and above those of degree k. 
This function is also intended as an example of a generating function
for glmlist objects, to facilitate model comparison, extraction, 
summary and plotting of model components, etc., perhaps using lapply or similar. 
Usage
Kway(formula, family=poisson, data, ..., order = nt, prefix = "kway")
Arguments
| formula | a two-sided formula for the 1-way effects in the model.
The LHS should be the response, and the RHS should be the first-order terms
connected by  | 
| family | a description  of the  error distribution  and link  function to  be used in the
model.  This  can be  a  character string  naming  a family  function,  a family
function or the result of a call to a family function. 
(See  | 
| data | an  optional  data   frame,  list  or   environment  (or  object   coercible  by
 | 
| ... | Other arguments passed to  | 
| order | Highest order interaction of the models generated. Defaults to the number of terms in the model formula. | 
| prefix | Prefix used to label the models fit in the  | 
Details
With y as the response in the formula, the 0-way (null) model
is y ~ 1.  
The 1-way ("main effects") model is that specified in the
formula argument.  The k-way model is generated using the formula
. ~ .^k.
With the default order = nt, the final model is the saturated model.
As presently written, the function requires a two-sided formula with an explicit
response on the LHS. For frequency data in table form (e.g., produced by xtabs)
you the data argument is coerced to a data.frame, so you
should  supply the formula in the form Freq ~  ....
Value
An object of class glmlist, of length order+1
containing the 0-way, 1-way, ... 
models up to degree order.
Author(s)
Michael Friendly and Heather Turner
See Also
glmlist, 
Summarise (soon to be deprecated),
LRstats
Examples
## artificial data
factors <- expand.grid(A=factor(1:3), 
                       B=factor(1:2), 
                       C=factor(1:3), 
                       D=factor(1:2))
Freq <- rpois(nrow(factors), lambda=40)
df <- cbind(factors, Freq)
mods3 <- Kway(Freq ~ A + B + C, data=df, family=poisson)
LRstats(mods3)
mods4 <- Kway(Freq ~ A + B + C + D, data=df, family=poisson)
LRstats(mods4)
# JobSatisfaction data
data(JobSatisfaction, package="vcd")
modSat <- Kway(Freq ~ management+supervisor+own, 
               data=JobSatisfaction, 
               family=poisson, prefix="JobSat")
LRstats(modSat)
anova(modSat, test="Chisq")
# Rochdale data: very sparse, in table form
data(Rochdale, package="vcd")
## Not run: 
modRoch <- Kway(Freq~EconActive + Age + HusbandEmployed + Child + 
                     Education + HusbandEducation + Asian + HouseholdWorking,
                data=Rochdale, family=poisson)
LRstats(modRoch)
## End(Not run)