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. > >