Quantcast

How to use: library lattice: barchart

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

How to use: library lattice: barchart

paladini
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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to use: library lattice: barchart

Carlos Ortega
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-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to use: library lattice: barchart

P Ehlers
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-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to use: library lattice: barchart

PIKAL Petr
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.html

Petr Pikal
[hidden email]

______________________________________________
[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
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to use: library lattice: barchart

Robert Baer
> 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-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: How to use: library lattice: barchart

paladini
Thank you both very much. It has to be "abarley =
data.frame(cbind(as.numeric(ayield),avariety,ayear,asite))".
Than the plot looks really fine!

Best regards

clauida


Zitat von Robert Baer <[hidden email]>:

> > 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-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Loading...