If there are many character variables,and I want to get the mosaic plot of every pair of each variable,how to do then? If the variables are numeric, I can use pairs to get paired scatter plot. But as to the character variables, how to get the "paired mosaic plot"? Many thanks. -- QQ: 1733768559 At 2015-02-07 17:04:26,"Jim Lemon" <drjimlemon at gmail.com> wrote:>Hi meng, >It's not too hard to get a mosaic plot of two character variables: > >x<-sample(LETTERS[1:3],20,TRUE) >y<-sample(LETTERS[24:26],20,TRUE) >mosaicplot(table(x,y)) > >If you could tell us how the above is not what you want, perhaps a >better suggestion will appear. > >Jim > > >On Sat, Feb 7, 2015 at 6:29 PM, meng <laomeng_3 at 163.com> wrote: >> If both x and y are all character, paired scatter plot is a little bit strange I think. >> >> >> >> >> >> >> -- >> QQ: 1733768559 >> >> >> >> >> >> At 2015-02-06 23:52:34,"Duncan Murdoch" <murdoch.duncan at gmail.com> wrote: >>>On 06/02/2015 6:46 AM, meng wrote: >>>> Hi all: >>>> If there are two numeric variable:x,y, and I can get paired scatter plot by function "pairs".But if x and y are character, and I want to get paired mosaic plot,which function should be used then? >>> >>>Why not pairs, with a custom panel function? There are examples on the >>>help page, though I don't think a mosaic plot is there. >>> >>>Duncan Murdoch >>>> >>>> >>>> Many thanks! >>>> My best. >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> QQ: 1733768559 >>>> >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-help at 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. >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at 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.[[alternative HTML version deleted]]
Hi meng, A basic display of mosaic plots for all pairs of variables isn't too difficult, but you will probably want to make this a bit fancier. It only displays the unique plots, unlike the "pairs" plot. Keep in mind that "many" variables will mean many plots. chardf<-data.frame(v1=sample(LETTERS[1:3],20,TRUE), v2=sample(LETTERS[4:6],20,TRUE), v3=sample(LETTERS[7:9],20,TRUE), v4=sample(LETTERS[10:12],20,TRUE)) mosaic_pairs<-function(x,...) { if(!is.data.frame(x) && !is.matrix(x)) stop("x must be a 2D matrix or data frame") nvar<-dim(x)[2] paircomb<-combn(nvar,2) nplots<-dim(paircomb)[2] split.screen(figs=c(nvar-1,nvar-1)) for(i in 1:nplots) { screen((paircomb[2,i]-1)+(paircomb[1,i]-1)*(nvar-1)) maintitle<- paste(names(x)[paircomb[1,i]],"by",names(x)[paircomb[2,i]]) par(mar=c(1,1,3,1)) mosaicplot(table(x[[paircomb[2,i]]],x[[paircomb[1,i]]]), main=maintitle,...) } } mosaic_pairs(chardf) Jim On Sun, Feb 8, 2015 at 1:50 AM, meng <laomeng_3 at 163.com> wrote:> If there are many character variables,and I want to get the mosaic plot of > every pair of each variable,how to do then? > > If the variables are numeric, I can use pairs to get paired scatter plot. > But as to the character variables, how to get the "paired mosaic plot"? > > Many thanks. > > > > > -- > QQ: 1733768559 > > > > At 2015-02-07 17:04:26,"Jim Lemon" <drjimlemon at gmail.com> wrote: >>Hi meng, >>It's not too hard to get a mosaic plot of two character variables: >> >>x<-sample(LETTERS[1:3],20,TRUE) >>y<-sample(LETTERS[24:26],20,TRUE) >>mosaicplot(table(x,y)) >> >>If you could tell us how the above is not what you want, perhaps a >>better suggestion will appear. >> >>Jim >> >> >>On Sat, Feb 7, 2015 at 6:29 PM, meng <laomeng_3 at 163.com> wrote: >>> If both x and y are all character, paired scatter plot is a little bit >>> strange I think. >>> >>> >>> >>> >>> >>> >>> -- >>> QQ: 1733768559 >>> >>> >>> >>> >>> >>> At 2015-02-06 23:52:34,"Duncan Murdoch" <murdoch.duncan at gmail.com> wrote: >>>>On 06/02/2015 6:46 AM, meng wrote: >>>>> Hi all: >>>>> If there are two numeric variable:x,y, and I can get paired scatter >>>>> plot by function "pairs".But if x and y are character, and I want to get >>>>> paired mosaic plot,which function should be used then? >>>> >>>>Why not pairs, with a custom panel function? There are examples on the >>>>help page, though I don't think a mosaic plot is there. >>>> >>>>Duncan Murdoch >>>>> >>>>> >>>>> Many thanks! >>>>> My best. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> QQ: 1733768559 >>>>> >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>> ______________________________________________ >>>>> R-help at 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. >>>> >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at 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. > > >
You are looking for the pairs plot for table and other objects in the vcd package: ?vcd::pairs.table It allows you to use various panel functions for the diagonal and off-diagonal plots On 2/7/2015 9:50 AM, meng wrote:> If there are many character variables,and I want to get the mosaic plot of every pair of each variable,how to do then? > > > If the variables are numeric, I can use pairs to get paired scatter plot. > But as to the character variables, how to get the "paired mosaic plot"? > > > Many thanks. > > > > > > -- > QQ: 1733768559 > > > > > > At 2015-02-07 17:04:26,"Jim Lemon" <drjimlemon at gmail.com> wrote: >> Hi meng, >> It's not too hard to get a mosaic plot of two character variables: >> >> x<-sample(LETTERS[1:3],20,TRUE) >> y<-sample(LETTERS[24:26],20,TRUE) >> mosaicplot(table(x,y)) >> >> If you could tell us how the above is not what you want, perhaps a >> better suggestion will appear. >> >> Jim >> >> >> On Sat, Feb 7, 2015 at 6:29 PM, meng <laomeng_3 at 163.com> wrote: >>> If both x and y are all character, paired scatter plot is a little bit strange I think. >>> >>> >>> >>> >>> >>> >>> -- >>> QQ: 1733768559 >>> >>> >>> >>> >>> >>> At 2015-02-06 23:52:34,"Duncan Murdoch" <murdoch.duncan at gmail.com> wrote: >>>> On 06/02/2015 6:46 AM, meng wrote: >>>>> Hi all: >>>>> If there are two numeric variable:x,y, and I can get paired scatter plot by function "pairs".But if x and y are character, and I want to get paired mosaic plot,which function should be used then? >>>> >>>> Why not pairs, with a custom panel function? There are examples on the >>>> help page, though I don't think a mosaic plot is there. >>>> >>>> Duncan Murdoch >>>>> >>>>> >>>>> Many thanks! >>>>> My best. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> QQ: 1733768559 >>>>> >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>> ______________________________________________ >>>>> R-help at 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. >>>> >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at 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. > > [[alternative HTML version deleted]] >-- Michael Friendly Email: friendly AT yorku DOT ca Professor, Psychology Dept. & Chair, Quantitative Methods York University Voice: 416 736-2100 x66249 Fax: 416 736-5814 4700 Keele Street Web: http://www.datavis.ca Toronto, ONT M3J 1P3 CANADA
Many thanks. -- QQ: 1733768559 At 2015-02-08 23:01:09,"Michael Friendly" <friendly at yorku.ca> wrote:>You are looking for the pairs plot for table and other objects in the >vcd package: > > ?vcd::pairs.table > >It allows you to use various panel functions for the diagonal and >off-diagonal plots > >On 2/7/2015 9:50 AM, meng wrote: >> If there are many character variables,and I want to get the mosaic plot of every pair of each variable,how to do then? >> >> >> If the variables are numeric, I can use pairs to get paired scatter plot. >> But as to the character variables, how to get the "paired mosaic plot"? >> >> >> Many thanks. >> >> >> >> >> >> -- >> QQ: 1733768559 >> >> >> >> >> >> At 2015-02-07 17:04:26,"Jim Lemon" <drjimlemon at gmail.com> wrote: >>> Hi meng, >>> It's not too hard to get a mosaic plot of two character variables: >>> >>> x<-sample(LETTERS[1:3],20,TRUE) >>> y<-sample(LETTERS[24:26],20,TRUE) >>> mosaicplot(table(x,y)) >>> >>> If you could tell us how the above is not what you want, perhaps a >>> better suggestion will appear. >>> >>> Jim >>> >>> >>> On Sat, Feb 7, 2015 at 6:29 PM, meng <laomeng_3 at 163.com> wrote: >>>> If both x and y are all character, paired scatter plot is a little bit strange I think. >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> QQ: 1733768559 >>>> >>>> >>>> >>>> >>>> >>>> At 2015-02-06 23:52:34,"Duncan Murdoch" <murdoch.duncan at gmail.com> wrote: >>>>> On 06/02/2015 6:46 AM, meng wrote: >>>>>> Hi all: >>>>>> If there are two numeric variable:x,y, and I can get paired scatter plot by function "pairs".But if x and y are character, and I want to get paired mosaic plot,which function should be used then? >>>>> >>>>> Why not pairs, with a custom panel function? There are examples on the >>>>> help page, though I don't think a mosaic plot is there. >>>>> >>>>> Duncan Murdoch >>>>>> >>>>>> >>>>>> Many thanks! >>>>>> My best. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> QQ: 1733768559 >>>>>> >>>>>> >>>>>> [[alternative HTML version deleted]] >>>>>> >>>>>> ______________________________________________ >>>>>> R-help at 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. >>>>> >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-help at 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. >> >> [[alternative HTML version deleted]] >> > > >-- >Michael Friendly Email: friendly AT yorku DOT ca >Professor, Psychology Dept. & Chair, Quantitative Methods >York University Voice: 416 736-2100 x66249 Fax: 416 736-5814 >4700 Keele Street Web: http://www.datavis.ca >Toronto, ONT M3J 1P3 CANADA[[alternative HTML version deleted]]