# [R] using barchart in lattice package and conditioning

markleeds at verizon.net markleeds at verizon.net
Thu Jun 5 02:26:41 CEST 2008

```I have the data structure below and I'm attempting to send it into
barchart using the R code below it. I don't get an error but I don't get
any output either. Deepyan's new Lattice book is amazing and there are
some examples sort of similar to what i'm doing  but I couldn't see a
way of using the formula interface to condition on what I wanted to
condition on so I decided to use split instead.  I'm not sure if that's
where my problem lies but if anyone has experience in using the barchart
function in the lattice package and could take a look at what I'm trying
to do,
it would really be appreciated. thanks.

p.s: my data set is already tallied by proportion so i don't need to use
prop.table and i also have other additional columns in my data set.
these two issues are complicating matters for me also. i'm a lattice
newbie.

stocks.all<-structure(list(group = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "AVT.NYSE", class =
"factor"),
buckets = structure(c(8L, 6L, 4L, 2L, 1L, 3L, 5L, 7L, 8L,
6L, 4L, 2L, 1L, 3L, 5L, 7L, 8L, 6L, 4L, 2L, 1L, 3L, 5L, 7L,
8L, 6L, 4L, 2L, 1L, 3L, 5L, 7L), .Label = c("[0,0.25", "[-0.25,0]",
"[0.25,0.50]", "[-0.5,-0.25]", "[0.5,0.75]", "[-0.75,-0.50]",
"[0.75,1.0]", "[-1.0,-0.75]"), class = "factor"), neutral =
c(0.345901639344262,
0.360117302052786, 0.354304635761589, 0.354319180087848,
0.365524402907580, 0.359455958549223, 0.340284360189573,
0.369763205828780, 0.265100671140940, 0.250599520383693,
0.264124293785311, 0.257874015748031, 0.252083333333333,
0.260869565217391, 0.263257575757576, 0.341911764705882,
0.197761194029851, 0.192307692307692, 0.137724550898204,
0.184647302904564, 0.176991150442478, 0.173796791443850,
0.217573221757322, 0.181818181818182, 0.151162790697674,
0.163865546218487, 0.167346938775510, 0.159638554216867,
0.169934640522876, 0.133047210300429, 0.122093023255814,
0.223529411764706), negative = c(0.304918032786885,
0.304985337243402,
0.310596026490066, 0.287457296242069, 0.285565939771547,
0.264248704663212, 0.297630331753555, 0.231329690346084,
0.345637583892617, 0.34652278177458, 0.353107344632768,
0.319881889763780,
0.341666666666667, 0.329923273657289, 0.348484848484849,
0.301470588235294, 0.365671641791045, 0.384615384615385,
0.38622754491018, 0.369294605809129, 0.371681415929204,
0.382352941176471,
0.338912133891213, 0.340909090909091, 0.406976744186047,
0.399159663865546, 0.355102040816327, 0.355421686746988,
0.398692810457516, 0.450643776824034, 0.337209302325581,
0.282352941176471), positive = c(0.349180327868852,
0.334897360703812,
0.335099337748344, 0.358223523670083, 0.348909657320872,
0.376295336787565, 0.362085308056872, 0.398907103825137,
0.389261744966443, 0.402877697841727, 0.382768361581921,
0.422244094488189, 0.40625, 0.40920716112532, 0.388257575757576,
0.356617647058824, 0.436567164179104, 0.423076923076923,
0.476047904191617, 0.446058091286307, 0.451327433628319,
0.443850267379679, 0.443514644351464, 0.477272727272727,
0.441860465116279, 0.436974789915966, 0.477551020408163,
0.484939759036145, 0.431372549019608, 0.416309012875536,
0.540697674418605, 0.494117647058824), wt = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L), .Label = c("5.0", "10.0", "20.0", "30.0"), class = "factor")),
.Names = c("group",
"buckets", "neutral", "negative", "positive", "wt"), row.names = c(NA,
32L), class = "data.frame")

# R CODE FOR BARCHART
#============================================================

temp<-split(stocks.all,list(stocks.all\$group,stocks.all\$wt))
print(temp)

lapply(temp, function(.df){
print(barchart(.df, stack = TRUE,  auto.key = list(columns = 3)))
})

```