How to use: library lattice: barchart

6 messages
Open this post in threaded view
|
Report Content as Inappropriate

How to use: library lattice: barchart

 Dear ladies and gentlemen! In the help text for the xyplot (library(lattice), help(xyplot)) is an example given how one can use barchart: barchart(yield ~ variety | site, data = barley,               groups = year, layout = c(1,6),               ylab = "Barley Yield (bushels/acre)",               scales = list(x = list(abbreviate = TRUE,                             minlength = 5)))                             I want my data to be represented just in the same way. But when I try it like this: ayield = c(2,3,5,6,3,4,7,8,9,2,3,5,6,1,2,3,4,2,6,8) avariety = c(rep("A",5),rep("B",5),rep("C",5),rep("D",5)) ayear = (c(rep(1931,10),rep(1932,10))) asite = c(rep(c("iu","gt","jt","jhzt","tr"),4)) abarley = data.frame(cbind(ayield,avariety,ayear,asite)) barchart(ayield ~ avariety | asite, data = abarley,groups = ayear, layout = c(1,5) ) it looks totaly different and I get the error message: "x should be numeric in: bwplot.formula(x = ayield ~ avariety | asite, data = list(ayield = c(2," What did I do wrong? Can anybody help me? Best regards, thank you very much Claudia Paladini ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|
Report Content as Inappropriate

Re: How to use: library lattice: barchart

 Hello, You could get something similar to the example by adding "horizontal=FALSE". ############## barchart(ayield ~ avariety | asite,          data = abarley,          groups = ayear,          horizontal=FALSE,          layout = c(1,5)         ) ############### With respect to the error message you got. Check carefully "barley" data and compare it with yours. In your case, "avariety" has four levels A,B,C and D but only A and B appears in 1931 and (C,D) in 1932 while in barley data, the all the varieties appear in all the years. That lack of data in some years is the cause of the error. Regards, Carlos Ortega. On 3/21/06, [hidden email] <[hidden email]> wrote: > > Dear ladies and gentlemen! > > In the help text for the xyplot (library(lattice), help(xyplot)) is an > example > given how one can use barchart: > > barchart(yield ~ variety | site, data = barley, >              groups = year, layout = c(1,6), >              ylab = "Barley Yield (bushels/acre)", >              scales = list(x = list(abbreviate = TRUE, >                            minlength = 5))) > > I want my data to be represented just in the same way. But when I try it > like > this: > > > ayield = c(2,3,5,6,3,4,7,8,9,2,3,5,6,1,2,3,4,2,6,8) > avariety = c(rep("A",5),rep("B",5),rep("C",5),rep("D",5)) > ayear = (c(rep(1931,10),rep(1932,10))) > asite = c(rep(c("iu","gt","jt","jhzt","tr"),4)) > abarley = data.frame(cbind(ayield,avariety,ayear,asite)) > > barchart(ayield ~ avariety | asite, data = abarley,groups = ayear, layout > = > c(1,5) ) > > it looks totaly different and I get the error message: > "x should be numeric in: bwplot.formula(x = ayield ~ avariety | asite, > data = > list(ayield = c(2," > > What did I do wrong? > Can anybody help me? > > Best regards, thank you very much > > > Claudia Paladini > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html>         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|
Report Content as Inappropriate

Re: How to use: library lattice: barchart

 In reply to this post by paladini I think your problem is the definition of abarley. You're making ayield into a factor. Have a look at str(abarley). Peter Ehlers [hidden email] wrote: > Dear ladies and gentlemen! > > In the help text for the xyplot (library(lattice), help(xyplot)) is an example > given how one can use barchart: > > barchart(yield ~ variety | site, data = barley, >               groups = year, layout = c(1,6), >               ylab = "Barley Yield (bushels/acre)", >               scales = list(x = list(abbreviate = TRUE, >                             minlength = 5))) >     > I want my data to be represented just in the same way. But when I try it like > this: > > > ayield = c(2,3,5,6,3,4,7,8,9,2,3,5,6,1,2,3,4,2,6,8) > avariety = c(rep("A",5),rep("B",5),rep("C",5),rep("D",5)) > ayear = (c(rep(1931,10),rep(1932,10))) > asite = c(rep(c("iu","gt","jt","jhzt","tr"),4)) > abarley = data.frame(cbind(ayield,avariety,ayear,asite)) > > barchart(ayield ~ avariety | asite, data = abarley,groups = ayear, layout = > c(1,5) ) > > it looks totaly different and I get the error message: > "x should be numeric in: bwplot.formula(x = ayield ~ avariety | asite, data = > list(ayield = c(2," > > What did I do wrong? > Can anybody help me? > > Best regards, thank you very much > > > Claudia Paladini > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|
Report Content as Inappropriate

Re: How to use: library lattice: barchart

 In reply to this post by paladini Hi cbind(some numeric and not numeric columns) gives you all columns to be character and when you make data.frame from it it is converted to factors. so > abarley = data.frame(ayield,avariety,ayear,asite) brings you close but than you need ayear to be factor. Either convert it in data frame or on fly barchart(ayield ~ avariety | asite, data = abarley, groups = factor(ayear), layout = c(1,5) ) HTH Petr BTW. If you encounter error other than "Error: syntax error in: .... it's time to look at your data by ?str, class, typeoff, ... and any other structure and type revealing tools. Cheers. On 21 Mar 2006 at 12:05, [hidden email] wrote: Date sent:       Tue, 21 Mar 2006 12:05:27 +0100 From:           [hidden email] To:             [hidden email] Subject:         [R] How to use: library lattice: barchart > Dear ladies and gentlemen! > > In the help text for the xyplot (library(lattice), help(xyplot)) is an > example given how one can use barchart: > > barchart(yield ~ variety | site, data = barley, >               groups = year, layout = c(1,6), >               ylab = "Barley Yield (bushels/acre)", >               scales = list(x = list(abbreviate = TRUE, >                             minlength = 5))) > > I want my data to be represented just in the same way. But when I try > it like this: > > > ayield = c(2,3,5,6,3,4,7,8,9,2,3,5,6,1,2,3,4,2,6,8) > avariety = c(rep("A",5),rep("B",5),rep("C",5),rep("D",5)) > ayear = (c(rep(1931,10),rep(1932,10))) > asite = c(rep(c("iu","gt","jt","jhzt","tr"),4)) > abarley = data.frame(cbind(ayield,avariety,ayear,asite)) > > barchart(ayield ~ avariety | asite, data = abarley,groups = ayear, > layout = c(1,5) ) > > it looks totaly different and I get the error message: > "x should be numeric in: bwplot.formula(x = ayield ~ avariety | asite, > data = list(ayield = c(2," > > What did I do wrong? > Can anybody help me? > > Best regards, thank you very much > > > Claudia Paladini > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.htmlPetr Pikal [hidden email] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|
Report Content as Inappropriate

Re: How to use: library lattice: barchart

 > it looks totaly different and I get the error message: > "x should be numeric in: bwplot.formula(x = ayield ~ avariety | asite, > data = list(ayield = c(2," ------------------- > cbind(some numeric and not numeric columns) > > gives you all columns to be character and when you make data.frame > from it it is converted to factors. > > so > > > abarley = data.frame(ayield,avariety,ayear,asite) > > brings you close but than you need ayear to be factor. Either convert > it in data frame or on fly Actually, as the warning suggests, you have all factors in the dataframe but you need to convert ayield to a numeric.  Something like, abarley = data.frame(cbind(as.numeric(ayield),avariety,ayear,asite)) > > barchart(ayield ~ avariety | asite, data = abarley, groups = > factor(ayear), layout = c(1,5) ) > > HTH > Petr ____________________________ Robert W. Baer, Ph.D. Associate Professor Department of Physiology A. T. Still University of Health Science 800 W. Jefferson St. Kirksville, MO 63501-1497 USA ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html