[R] Odp: need help in plotting barchart

Petr PIKAL petr.pikal at precheza.cz
Fri Nov 7 11:01:00 CET 2008


Hi

I did not see any response and will not give you any answer too, just a 
hint. Your code can not be reproduced and it is also difficult to say what 
you really want.

Eg. this is rather confusing.

> On a generated plot  I observed that what ever records have counts as
> "NA", those are not suppressed. but I don't want them to be suppressed.

Do you want NA to be suppressed or not?

I would

ensure my data frame has variables with correct class and then I would 
select those with non zero and non NA counts by e.g.

Df.OK <- Df[which(Df$counts),]

if you want to drop unused levels of factor you can use e.g. drop=T in 
subseting this factor

Regards
Petr


r-help-bounces at r-project.org napsal dne 06.11.2008 12:30:13:

> Df contains 
> 
>      Session_Setup   DCT RevDataVols_bin    counts
> comp
> 
> 1    Session_Setup   RLL               1        NA
> Session_Setup+RLL+1
> 
> 2    Session_Setup   RLL               2        NA
> Session_Setup+RLL+2
> 
> 3    Session_Setup   RLL               3        NA
> Session_Setup+RLL+3
> 
> 4    Session_Setup   RLL               4        NA
> Session_Setup+RLL+4
> 
> 5    Session_Setup   RLL               5        NA
> Session_Setup+RLL+5
> 
> 6    Session_Setup   RLL               6        NA
> Session_Setup+RLL+6
> 
> 7    Session_Setup   RLL               7        NA
> Session_Setup+RLL+7
> 
> 8    Session_Setup   RLL               8        NA
> Session_Setup+RLL+8
> 
> 9    Session_Setup   RLL               9        NA
> Session_Setup+RLL+9
> 
> 10   Session_Setup   RLL              10        NA
> Session_Setup+RLL+10
> 
> 11   Session_Setup   RLL              11        NA
> Session_Setup+RLL+11
> 
> 12   Session_Setup   RLL              12        NA
> Session_Setup+RLL+12
> 
> 13   Session_Setup   RLL              13        NA
> Session_Setup+RLL+13
> 
> 14   Session_Setup   RLL              14        NA
> Session_Setup+RLL+14
> 
> 15   Session_Setup   RLL              15        NA
> Session_Setup+RLL+15
> 
> 16   Session_Setup   RLL              16        NA
> Session_Setup+RLL+16
> 
> 17   Session_Setup   RLL              17        NA
> Session_Setup+RLL+17
> 
> 18   Session_Setup   RLL              18        NA
> Session_Setup+RLL+18
> 
> 19   Session_Setup   RLL              19        NA
> Session_Setup+RLL+19
> 
> 20   Session_Setup   RLL              20        NA
> Session_Setup+RLL+20
> 
> 21   Session_Setup   RLL              21        NA
> Session_Setup+RLL+21
> 
> 22   Session_Setup   RLL              22        NA
> Session_Setup+RLL+22
> 
> 23   Session_Setup   RLL              23        NA
> Session_Setup+RLL+23
> 
> 24   Session_Setup   RLL              24        NA
> Session_Setup+RLL+24
> 
> 25   Session_Setup   RLL              25        NA
> Session_Setup+RLL+25
> 
> 26   Session_Setup   RLL              26        NA
> Session_Setup+RLL+26
> 
> 27   Session_Setup   RLL              27        NA
> Session_Setup+RLL+27
> 
> 28   Session_Setup   RLL              28        NA
> Session_Setup+RLL+28
> 
> 29   Session_Setup   RLL              29        NA
> Session_Setup+RLL+29
> 
> 30   Session_Setup   RLL              30        NA
> Session_Setup+RLL+30
> 
> 31  User_Initiated   RLL               1  8.487840
> User_Initiated+RLL+1
> 
> 32  User_Initiated   RLL               2  6.066089
> User_Initiated+RLL+2
> 
> 33  User_Initiated   RLL               3        NA
> User_Initiated+RLL+3
> 
> 34  User_Initiated   RLL               4        NA
> User_Initiated+RLL+4
> 
> 35  User_Initiated   RLL               5  5.906891
> User_Initiated+RLL+5
> 
> 36  User_Initiated   RLL               6        NA
> User_Initiated+RLL+6
> 
> 37  User_Initiated   RLL               7        NA
> User_Initiated+RLL+7
> 
> 38  User_Initiated   RLL               8        NA
> User_Initiated+RLL+8
> 
> 39  User_Initiated   RLL               9        NA
> User_Initiated+RLL+9
> 
> 40  User_Initiated   RLL              10        NA
> User_Initiated+RLL+10
> 
> 41  User_Initiated   RLL              11        NA
> User_Initiated+RLL+11
> 
> 42  User_Initiated   RLL              12        NA
> User_Initiated+RLL+12
> 
> 43  User_Initiated   RLL              13        NA
> User_Initiated+RLL+13
> 
> 44  User_Initiated   RLL              14        NA
> User_Initiated+RLL+14
> 
> 45  User_Initiated   RLL              15        NA
> User_Initiated+RLL+15
> 
> 46  User_Initiated   RLL              16        NA
> User_Initiated+RLL+16
> 
> 47  User_Initiated   RLL              17        NA
> User_Initiated+RLL+17
> 
> 48  User_Initiated   RLL              18        NA
> User_Initiated+RLL+18
> 
> 49  User_Initiated   RLL              19        NA
> User_Initiated+RLL+19
> 
> 50  User_Initiated   RLL              20        NA
> User_Initiated+RLL+20
> 
> 51  User_Initiated   RLL              21        NA
> User_Initiated+RLL+21
> 
> 52  User_Initiated   RLL              22        NA
> User_Initiated+RLL+22
> 
> 53  User_Initiated   RLL              23        NA
> User_Initiated+RLL+23
> 
> 54  User_Initiated   RLL              24        NA
> User_Initiated+RLL+24
> 
> 55  User_Initiated   RLL              25        NA
> User_Initiated+RLL+25
> 
> 56  User_Initiated   RLL              26        NA
> User_Initiated+RLL+26
> 
> 57  User_Initiated   RLL              27        NA
> User_Initiated+RLL+27
> 
> 58  User_Initiated   RLL              28        NA
> User_Initiated+RLL+28
> 
> 59  User_Initiated   RLL              29        NA
> User_Initiated+RLL+29
> 
> 60  User_Initiated   RLL              30        NA
> User_Initiated+RLL+30
> 
> 61   Session_Setup NoRLL               1  8.906891
> Session_Setup+NoRLL+1
> 
> 62   Session_Setup NoRLL               2        NA
> Session_Setup+NoRLL+2
> 
> 63   Session_Setup NoRLL               3        NA
> Session_Setup+NoRLL+3
> 
> 64   Session_Setup NoRLL               4        NA
> Session_Setup+NoRLL+4
> 
> 65   Session_Setup NoRLL               5        NA
> Session_Setup+NoRLL+5
> 
> 66   Session_Setup NoRLL               6        NA
> Session_Setup+NoRLL+6
> 
> 67   Session_Setup NoRLL               7        NA
> Session_Setup+NoRLL+7
> 
> 68   Session_Setup NoRLL               8        NA
> Session_Setup+NoRLL+8
> 
> 69   Session_Setup NoRLL               9        NA
> Session_Setup+NoRLL+9
> 
> 70   Session_Setup NoRLL              10        NA
> Session_Setup+NoRLL+10
> 
> 71   Session_Setup NoRLL              11        NA
> Session_Setup+NoRLL+11
> 
> 72   Session_Setup NoRLL              12        NA
> Session_Setup+NoRLL+12
> 
> 73   Session_Setup NoRLL              13        NA
> Session_Setup+NoRLL+13
> 
> 74   Session_Setup NoRLL              14        NA
> Session_Setup+NoRLL+14
> 
> 75   Session_Setup NoRLL              15        NA
> Session_Setup+NoRLL+15
> 
> 76   Session_Setup NoRLL              16        NA
> Session_Setup+NoRLL+16
> 
> 77   Session_Setup NoRLL              17        NA
> Session_Setup+NoRLL+17
> 
> 78   Session_Setup NoRLL              18        NA
> Session_Setup+NoRLL+18
> 
> 79   Session_Setup NoRLL              19        NA
> Session_Setup+NoRLL+19
> 
> 80   Session_Setup NoRLL              20        NA
> Session_Setup+NoRLL+20
> 
> 81   Session_Setup NoRLL              21        NA
> Session_Setup+NoRLL+21
> 
> 82   Session_Setup NoRLL              22        NA
> Session_Setup+NoRLL+22
> 
> 83   Session_Setup NoRLL              23        NA
> Session_Setup+NoRLL+23
> 
> 84   Session_Setup NoRLL              24        NA
> Session_Setup+NoRLL+24
> 
> 85   Session_Setup NoRLL              25        NA
> Session_Setup+NoRLL+25
> 
> 86   Session_Setup NoRLL              26        NA
> Session_Setup+NoRLL+26
> 
> 87   Session_Setup NoRLL              27        NA
> Session_Setup+NoRLL+27
> 
> 88   Session_Setup NoRLL              28        NA
> Session_Setup+NoRLL+28
> 
> 89   Session_Setup NoRLL              29        NA
> Session_Setup+NoRLL+29
> 
> 90   Session_Setup NoRLL              30        NA
> Session_Setup+NoRLL+30
> 
> 91  User_Initiated NoRLL               1 12.909331
> User_Initiated+NoRLL+1
> 
> 92  User_Initiated NoRLL               2 10.878817
> User_Initiated+NoRLL+2
> 
> 93  User_Initiated NoRLL               3  9.499846
> User_Initiated+NoRLL+3
> 
> 94  User_Initiated NoRLL               4  8.891784
> User_Initiated+NoRLL+4
> 
> 95  User_Initiated NoRLL               5  7.888743
> User_Initiated+NoRLL+5
> 
> 96  User_Initiated NoRLL               6  7.930737
> User_Initiated+NoRLL+6
> 
> 97  User_Initiated NoRLL               7  7.475733
> User_Initiated+NoRLL+7
> 
> 98  User_Initiated NoRLL               8  6.906891
> User_Initiated+NoRLL+8
> 
> 99  User_Initiated NoRLL               9  5.906891
> User_Initiated+NoRLL+9
> 
> 100 User_Initiated NoRLL              10  6.882643
> User_Initiated+NoRLL+10
> 
> 101 User_Initiated NoRLL              11        NA
> User_Initiated+NoRLL+11
> 
> 102 User_Initiated NoRLL              12  6.894818
> User_Initiated+NoRLL+12
> 
> 103 User_Initiated NoRLL              13        NA
> User_Initiated+NoRLL+13
> 
> 104 User_Initiated NoRLL              14  5.906891
> User_Initiated+NoRLL+14
> 
> 105 User_Initiated NoRLL              15  5.882643
> User_Initiated+NoRLL+15
> 
> 106 User_Initiated NoRLL              16  5.906891
> User_Initiated+NoRLL+16
> 
> 107 User_Initiated NoRLL              17        NA
> User_Initiated+NoRLL+17
> 
> 108 User_Initiated NoRLL              18        NA
> User_Initiated+NoRLL+18
> 
> 109 User_Initiated NoRLL              19        NA
> User_Initiated+NoRLL+19
> 
> 110 User_Initiated NoRLL              20        NA
> User_Initiated+NoRLL+20
> 
> 111 User_Initiated NoRLL              21        NA
> User_Initiated+NoRLL+21
> 
> 112 User_Initiated NoRLL              22        NA
> User_Initiated+NoRLL+22
> 
> 113 User_Initiated NoRLL              23  5.906891
> User_Initiated+NoRLL+23
> 
> 114 User_Initiated NoRLL              24        NA
> User_Initiated+NoRLL+24
> 
> 115 User_Initiated NoRLL              25        NA
> User_Initiated+NoRLL+25
> 
> 116 User_Initiated NoRLL              26        NA
> User_Initiated+NoRLL+26
> 
> 117 User_Initiated NoRLL              27        NA
> User_Initiated+NoRLL+27
> 
> 118 User_Initiated NoRLL              28        NA
> User_Initiated+NoRLL+28
> 
> 119 User_Initiated NoRLL              29  5.906891
> User_Initiated+NoRLL+29
> 
> 120 User_Initiated NoRLL              30        NA
> User_Initiated+NoRLL+30 
> 
> 
> 
> 
> 
> With the following code I tried to generate a barchart  plot
> 
> 
> 
> 
> 
> ok <- df$counts>0 & is.finite(df$counts)
> 
>    ylim <- c(0, ceiling(max(log2(df$counts[ok]))))
> 
>    by.n <- ifelse(abs(diff(ylim)) <= 5, 1, 2)
> 
>    at <- seq(from=0, to = ylim[2], by = by.n)
> 
>    lbls <- format(2^at)
> 
>    yscales <- list(y=list(at = at, labels = lbls))   ## log base 2 ticks
> 
>    scales = c(list(...)$xscales, yscales)     ## combine passed scales,
> if any
> 
> 
> 
> 
> 
> 
> 
>    grps <- df[[group.var]][ok, drop = FALSE]
> 
>    cond <- df[[cond.var]][ok, drop = FALSE]
> 
> 
> 
>    j <- match(group.var, names(df))
> 
>    names(df)[j] <- "grps"
> 
>    j <- match(cond.var, names(df))
> 
>    names(df)[j] <- "cond"
> 
> 
> 
>    f <- formula(sprintf("counts ~ %s | cond * grps", resp.var))
> 
>    layout <- c(length(levels(cond)), length(levels(grps)))
> 
> 
> 
>    print(
> 
>       barchart(f,
> 
>          data = df,
> 
>          subset = ok,
> 
>          as.table = TRUE, horizontal = FALSE,
> 
>          drop.unused.levels = list(cond=FALSE,data=FALSE),
> 
>          main = main, sub = sub, xlab = xlab, ylab = ylab,
> 
>          ylim = ylim,
> 
>          panel = function(x, y, ...){
> 
>                     panel.abline(h = at, col.line = grey(.75))
> 
>                     panel.barchart(x, y, ...)
> 
> 
> 
>                         x1 <-x
> 
>                         y1 <-y
> 
> 
> 
>                         horz <- list(...)$horizontal
> 
>                         n<-0
> 
>                         if(horz){
> 
>                             n<-sum(2^x1)
> 
>                           }
> 
> 
> 
>                         else {
> 
> 
> 
>                             n<-sum(2^y1)
> 
> 
> 
>                             }
> 
> 
> 
> 
> 
>                   grid.text(label = paste("n=",round(n,0), sep=""),
> 
>                               x = unit(0.5, "char"),
> 
>                               y = unit(0.975, "npc"),
> 
>                               just = c("left", "top"),
> 
>                               gp = gpar(cex = 0.8),
> 
>                               vp = current.viewport())
> 
> 
> 
> 
> 
>                  },
> 
>          scales = scales,
> 
>          layout = layout,
> 
>          page = function(n){ annotate(ann) },
> 
>          ...)
> 
>    )
> 
> 
> 
> 
> 
> On a generated plot  I observed that what ever records have counts as
> "NA", those are not suppressed. but I don't want them to be suppressed.
> 
> How can I get exact plot having 30 tick labels for each panel.
> 
> 
> 
> Have a look at the generated plot.
> 
> 
> 
> 
> 
> Please help me.
> 
> 
> 
> Thanks
> 
> K.Ravichandra
> 
> 
> 
> 
> 
> 
>    [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list