Labels can be helpful but can also cause messy output. In some of the
other functions, I added an option to suppress printing labels,
especially for symmetrical interactions.

A problem (in my view) with your approach is that it sorts the
categories according to the level names. I'd prefer the following,
which would make labels optional but otherwise maintain the original
order.

mob.qi <- function
(rowvar,colvar,constrained=FALSE,print.labels=FALSE) {
        check.square(rowvar,colvar)
        if (constrained) {
                qi <- ifelse(rowvar==colvar, 1, 0)
                nms<-c("diagonal")
        }
        else {
                qi <- ifelse(rowvar==colvar, rowvar, 0)
                nms<-levels(rowvar)
        }

        qi<-factor(qi)
        qi<-C(qi,contr.treatment,base=1)
        if (print.labels) {
                levels(qi)<-c("offdiag",nms)
        }
        qi
}

Thanks for your suggestions and for pointing out "relevel" to me!

John Hendrickx

--- David Firth <[EMAIL PROTECTED]> wrote:
> Nice.
> 
> I guess I normally do things a little bit differently, to get 
> coefficient names that look a bit more meaningful (eg avoiding
> numeric 
> codes for factor levels).
> 
> For example one possible adjustment to your code for the qi models 
> would be
> 
> mob.qi <- function(rowvar, colvar, constrained=FALSE) {
>       check.square(rowvar, colvar)
>       if (!constrained) {
>               qi <- ifelse(rowvar==colvar, as.character(rowvar), "offdiag")
>               relevel(factor(qi), "offdiag")
>       } else qi <- ifelse(rowvar==colvar, 1, 0)
> }
> 
> immobile <- mob.qi(OccFather, OccSon)
> glm.qi2<-glm(Freq ~ OccFather + OccSon + immobile,
> family=poisson())
> 
> immobile <- mob.qi(OccFather, OccSon, constrained=T)
> glm.q02 <-glm(Freq ~ OccFather + OccSon + immobile,
> family=poisson())
> 
> Cheers,
> David
> 
> On Wednesday, Feb 12, 2003, at 13:01 Europe/London, John Hendrickx 
> wrote:
> 
> > I've posted a sample file for estimating loglinear models for
> square
> > tables (mobility models) at http://www.xs4all.nl/~jhckx/mcl/R/
> > Comments and suggestions are welcome.
> >
> > John Hendrickx
> >
> > ______________________________________________
> > [EMAIL PROTECTED] mailing list
> > http://www.stat.math.ethz.ch/mailman/listinfo/r-help
> >
>

______________________________________________
[EMAIL PROTECTED] mailing list
http://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to