[R] Barplot - Can't figure it out

Petr Pikal petr.pikal at precheza.cz
Fri Feb 18 13:56:46 CET 2005



On 18 Feb 2005 at 13:00, T Petersen wrote:

> Wow, I'm getting confused...The syntax Petr suggested does what I
> wanted, but things are stille wrong...Maybe a bug? Let me explain.

Bugs are exceptionally rare in R.

> 
> I got two vectors:
> 
> x = c(3, 3, 3, 4, 3, 4, 3, 4, 3, 4)
> 
> y = c(5, 2, 5, 5, 2, 2, 5, 5, 4, 2)
> 
> then I do the barplot you suggest
> 
> barplot(rbind(table(x), table(y)), beside=T)
> 

So you do not have same categories in both vectors.

The only thing I can come up with is to fill some dummy vector, like

xx<-rep(NA,5)

with

xx[1:5 %in% as.numeric(names(table(x)))]<-table(x)

to keep both vectors same length and with NA in place where there is 
no category. Than simply rbinding both vectors and making barplot.


> but things are wrong(there is no bar for catagory "3") and I get an
> error message: Warning message: number of columns of result
>         not a multiple of vector length (arg 1) in:
>         rbind(table(Quest1), table(Quest2))

warning message says exactly what it says

table(Quest1) and table(Quest2) does not result in the same 
categories, so rbinding vectors with different lengths is performed, 
shorter vector is recycled and warning is issued.


Cheers
Petr



> 
> Any ideas?
> 
> Petr Pikal wrote:
> 
> >Hi
> >
> >If I understand correctly
> >
> >barplot(rbind(table(x), table(y)), beside=T)
> >
> >does what you want.
> >
> >Cheers
> >Petr
> >
> >
> >
> >On 18 Feb 2005 at 7:51, T Petersen wrote:
> >
> >  
> >
> >>Almost. Catagories aren't stacked - I would like to see that x has 2
> >>instances of "1" while y has 1 instance of "1". What's more, there
> >>are now TWO distinct barplots - the left one shows x, while the
> >>right one shows y. I could live with that, but what I'd ideally want
> >>is to have x and y beside each other for EACH catagory - so for
> >>catagory "1" you could see taht there are more x's than y's (two x's
> >>versus one y). But thanks for the help
> >>
> >>Mulholland, Tom wrote:
> >>
> >>    
> >>
> >>>barplot(matrix(c(x,y),ncol = 2),beside=T)
> >>>
> >>>Does this help 
> >>>
> >>>?barplot notes
> >>>
> >>>height: either a vector or matrix of values describing the bars
> >>>which
> >>>         make up the plot.  If 'height' is a vector, the plot
> >>>         consists of a sequence of rectangular bars with heights
> >>>         given by the values in the vector.  If 'height' is a
> >>>         matrix and 'beside' is 'FALSE' then each bar of the plot
> >>>         corresponds to a column of 'height', with the values in
> >>>         the column giving the heights of stacked "sub-bars" making
> >>>         up the bar.  If 'height' is a matrix and 'beside' is
> >>>         'TRUE', then the values in each column are juxtaposed
> >>>         rather than stacked.
> >>>
> >>>
> >>> 
> >>>
> >>>      
> >>>
> >>>>-----Original Message-----
> >>>>From: T Petersen [mailto:Terji78 at yahoo.com]
> >>>>Sent: Friday, 18 February 2005 1:35 PM
> >>>>To: Kevin Wang
> >>>>Cc: r-help at stat.math.ethz.ch
> >>>>Subject: Re: [R] Barplot - Can't figure it out
> >>>>
> >>>>
> >>>>Ups, it should of course be barplot() in my mail, not boxplot:-)
> >>>>
> >>>>Kevin Wang wrote:
> >>>>
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>>>>Hi,
> >>>>>
> >>>>>T Petersen wrote:
> >>>>>
> >>>>>     
> >>>>>
> >>>>>          
> >>>>>
> >>>>>>Hi,
> >>>>>>
> >>>>>>I have two catagorical vectors like this;
> >>>>>>
> >>>>>>x = c(1, 2, 4, 2, 1)
> >>>>>>y = c(2, 4, 2 ,4, 1)
> >>>>>>
> >>>>>>I want to set up a barplot with the catagories 1-4 
> >>>>>>       
> >>>>>>
> >>>>>>            
> >>>>>>
> >>>>horizontally  and 
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>>>>>number of occurances vertically for each vector x,y. I've tried
> >>>>>>
> >>>>>>boxplot(table(x,y), beside=T)
> >>>>>>
> >>>>>>and
> >>>>>>
> >>>>>>boxplot(c(x,y), beside=T)
> >>>>>>       
> >>>>>>
> >>>>>>            
> >>>>>>
> >>>>>Have you tried barplot(), instead of boxplot()???
> >>>>>
> >>>>>Cheers,
> >>>>>
> >>>>>Kev
> >>>>>
> >>>>>     
> >>>>>
> >>>>>          
> >>>>>
> >>>>______________________________________________
> >>>>R-help at stat.math.ethz.ch mailing list
> >>>>https://stat.ethz.ch/mailman/listinfo/r-help
> >>>>PLEASE do read the posting guide! 
> >>>>http://www.R-project.org/posting-guide.html
> >>>>
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>>______________________________________________
> >>>R-help at stat.math.ethz.ch mailing list
> >>>https://stat.ethz.ch/mailman/listinfo/r-help
> >>>PLEASE do read the posting guide!
> >>>http://www.R-project.org/posting-guide.html
> >>>
> >>> 
> >>>
> >>>      
> >>>
> >>______________________________________________
> >>R-help at stat.math.ethz.ch mailing list
> >>https://stat.ethz.ch/mailman/listinfo/r-help
> >>PLEASE do read the posting guide!
> >>http://www.R-project.org/posting-guide.html
> >>    
> >>
> >
> >Petr Pikal
> >petr.pikal at precheza.cz
> >
> >______________________________________________
> >R-help at stat.math.ethz.ch mailing list
> >https://stat.ethz.ch/mailman/listinfo/r-help
> >PLEASE do read the posting guide!
> >http://www.R-project.org/posting-guide.html
> >
> >  
> >
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html

Petr Pikal
petr.pikal at precheza.cz




More information about the R-help mailing list