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) among others, but can't get it to work...Any ideas? I'd apppreciate any help
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 -- Ko-Kang Kevin Wang PhD Student Centre for Mathematics and its Applications Building 27, Room 1004 Mathematical Sciences Institute (MSI) Australian National University Canberra, ACT 0200 Australia Homepage: http://wwwmaths.anu.edu.au/~wangk/ Ph (W): +61-2-6125-2431 Ph (H): +61-2-6125-7407 Ph (M): +61-40-451-8301
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 >
What you want is probably:> cxy <- c(x,y) > xy <- rep( c("x","y"), c(length(x),length(y)) ) > ( txy <- table(xy, cxy ) )cxy xy 2 3 4 5 x 0 6 4 0 y 4 0 1 5> barplot( txy, beside=T )Bendix Carstensen ---------------------- Bendix Carstensen Senior Statistician Steno Diabetes Center Niels Steensens Vej 2 DK-2820 Gentofte Denmark tel: +45 44 43 87 38 mob: +45 30 75 87 38 fax: +45 44 43 07 06 bxc at steno.dk www.biostat.ku.dk/~bxc ----------------------> -----Original Message----- > From: r-help-bounces at stat.math.ethz.ch > [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of T Petersen > Sent: Friday, February 18, 2005 1:01 PM > To: Petr Pikal > Cc: r-help at stat.math.ethz.ch > Subject: Re: [R] Barplot - Can't figure it out > > > Wow, I'm getting confused...The syntax Petr suggested does what I > wanted, but things are stille wrong...Maybe a bug? Let me explain. > > 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) > > 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)) > > Any ideas?