Hi.

I want to produce a three-way mosaic residual plot with survey data. I'm using 
the mosaic function from the vcd package for the plot, and the svytable 
function from the survey package to produce the contingency table.
Here is my code for a two-way table (that works) and a three-way table that 
plots but I think is wrong.

library(vcat)
library(survey)
data(api)
summary(apiclus1)
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
summary(dclus1)

# two-way plot
st2 <- svytable(~sch.wide+comp.imp,design=dclus1,round=TRUE)
summary(st2)
mosaic(st2,main = "Two-Way Mosaic Plot", shade = TRUE, legend = TRUE)

# three-way plot
st3 <- svytable(~sch.wide+comp.imp+stype,design=dclus1,round=TRUE)
summary(st3)
windows()
mosaic(st3,main = "Three-Way Mosaic Plot", shade = TRUE, legend = TRUE)

When I try to summarize the three-way svytable object "st3", I get the 
following error:
> summary(st3)
Error in svychisq.survey.design(~sch.wide + comp.imp + stype, design = dclus1,  
:
  Only 2-way tables at the moment

It still produces the three-way mosaic plot. But I don't think it's plotting 
the residuals correctly because the error message indicates only two-way 
chi-square tests are allowed.

The vcd package will create a mosaic residual plot from a log-linear model 
estimated by the loglm function from the MASS package. But it won't accept a 
log-linear model created with the svyloglin function from the survey package.
I'm wondering if I could run a log-linear model with svyloglin and transform 
the output into a table format that the mosaic function will plot.

Any help would be appreciated.

Thanks, and happy New Year.

Brent Mast
Social Science Analyst
HUD Office of Policy Development & Research
Program Monitoring & Research Div.


        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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