Dear R-helpers, I wasn't able to find out how to override the alphabetical ordering of the rows and columns in a vcd::mosaic plot. I would like to have them each ordered by numerical values in a different column of the data frame that contains the contingency data. I would be most grateful for a pointer toward the solution. Thanks, MK _____________________________ Professor Michael Kubovy University of Virginia Department of Psychology USPS: P.O.Box 400400 Charlottesville, VA 22904-4400 Parcels: Room 102 Gilmer Hall McCormick Road Charlottesville, VA 22903 Office: B011 +1-434-982-4729 Lab: B019 +1-434-982-4751 Fax: +1-434-982-4766 WWW: http://www.people.virginia.edu/~mk9y/
On 31/10/2007 4:33 PM, Michael Kubovy wrote:> Dear R-helpers, > > I wasn't able to find out how to override the alphabetical ordering > of the rows and columns in a vcd::mosaic plot. I would like to have > them each ordered by numerical values in a different column of the > data frame that contains the contingency data. > > I would be most grateful for a pointer toward the solution.I don't know that particular function, but most functions in R treat the categorical variables as factors, and use the ordering of the factor levels in displays. So you need to set this ordering explicitly, rather than let R do it automatically: #automatic gets alphabetical order > x <- factor(c("red", "green", "blue")) > x [1] red green blue Levels: blue green red #explicit gets whatever you want > x <- factor(c("red", "green", "blue"), levels=c("red", "green", "blue")) > x [1] red green blue Levels: red green blue Duncan Murdoch
On Wed, 31 Oct 2007, Michael Kubovy wrote:> Dear R-helpers, > > I wasn't able to find out how to override the alphabetical ordering > of the rows and columns in a vcd::mosaic plot. I would like to have > them each ordered by numerical values in a different column of the > data frame that contains the contingency data.mosaic() uses the same ordering as in the levels() of your factor. You probably created the factor with an alphabetical ordering (which is the default if the input is a character vector), e.g.: ## character vector x <- c("a", "b", "b", "a", "c") ## use alphabetical default f <- factor(x) f ## change ordering in existing factor levels(f) <- c("b", "c", "a") f ## create from scratch> I would be most grateful for a pointer toward the solution. > > Thanks, > MK > _____________________________ > Professor Michael Kubovy > University of Virginia > Department of Psychology > USPS: P.O.Box 400400 Charlottesville, VA 22904-4400 > Parcels: Room 102 Gilmer Hall > McCormick Road Charlottesville, VA 22903 > Office: B011 +1-434-982-4729 > Lab: B019 +1-434-982-4751 > Fax: +1-434-982-4766 > WWW: http://www.people.virginia.edu/~mk9y/ > > ______________________________________________ > R-help at 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. > >