[R] tapply() and barplot() help files for 1.8.1
Martin Maechler
maechler at stat.math.ethz.ch
Thu Apr 15 18:10:27 CEST 2004
>>>>> "David" == David Whiting <david.whiting at ncl.ac.uk>
>>>>> on 15 Apr 2004 11:42:18 +0000 writes:
David> Hi,
David> I've just upgraded to 1.9.0 and one of my Sweave
David> files that produces a number of barplots in a
David> standard manner now produces them in a different way.
David> I have made a couple of small changes to my code to
David> get the back the output I was getting before
David> upgrading and now (mostly out of curiosity) would
David> like to understand what has changed.
and I like to help you.
As I keep installed `(almost) all released versions of R ever
installed on our machines'
I can easily run 1.8.1 (or 1.4.x or 1.0.x ...) for you.
The only difference
between the help page help(tapply)
is an extra "require(stats)" statement at the beginning of the
`Examples' section in 1.9.0.
and the only change to tapply() is
group <- rep.int(one, nx)#- to contain the splitting vector
instead of
group <- rep (one, nx)#- to contain the splitting vector
which hardly should have adverse results.
In barplot, there's the new 'offset' option --- not in NEWS (!!!!)
and another change that may be a problem.
Can you dig harder and if possible provide a reproducible (small..)
example to make progress here...
David> I *think* I've tracked it down to tapply() and/or
David> barplot() and have not seen anything in the NEWS file
David> regarding changes to these functions (as far a I can
David> see). As part of doing my homework, I would like to
David> read the version 1.8.1 help files for these two
David> functions, but now that I've upgraded I'm not sure
David> where I can find them. Is there a simple way for me
David> to get copies of these two help files to compare with
David> the versions in 1.9.0? As far as I can see,
David> barplot() and tapply() in 1.9.0 work as described in
David> their 1.9.0 help files (which does not surprise me).
David> I've been lurking on this list long enough to know
David> that if there has been a change it is documented, so
David> it must be that I just haven't found it yet. If
David> there hasn't been a change, then I am totally
David> perplexed, because I have been running this Sweave
David> file several times a day for the last few weeks and
David> have not changed that part of it (I've been changing
David> the LaTeX parts).
David> In the part of the code that has changed I use
David> tapply() to summarise some data and then plot it with
David> barplot(). I now have to use matrix() on the output
David> of tapply() before using barplot() because tapply()
David> produces a list and barplot() wants a vector or
David> matrix.
David> In the code below, z is a dataframe, yllperdth is a
David> numeric and fld is the name of a factor, both in the
David> dataframe.
David> Old version (as used with R 1.8.1):
David> ## Calculate the % of YLLs for each group in the
David> cause classification. x <- tapply(z$yllperdth, z[,
David> fld], sum) totalYLLs <- sum(x) x <- x / totalYLLs *
David> 100 x <- sort(x)
David> ## Plot the chart. horiz = TRUE makes it a bar
David> instead of ## column chart. las = 1 prints the
David> labels horizontally. xplot <- barplot(x, horiz =
David> TRUE, xlab = "Percent of YLLs", las = 1)
David> New Version (as used with R 1.9.0):
David> ## Calculate the % of YLLs for each group in the
David> cause classification. x <- tapply(z$yllperdth, z[,
David> fld], sum) totalYLLs <- sum(x) x <- x / totalYLLs *
David> 100 x <- sort(x)
David> causeNames <- names(x) ## NEW BIT x <- matrix(x) ##
David> NEW BIT
David> ## Plot the chart. horiz = TRUE makes it a bar
David> instead of ## column chart. las = 1 prints the
David> labels horizontally. xplot <- barplot(x, beside =
David> TRUE, ## NEW BIT names.arg = causeNames, ## NEW BIT
David> horiz = TRUE, xlab = "Percent of YLLs", las = 1)
>> version
David> _ platform i686-pc-linux-gnu arch i686 os
David> linux-gnu system i686, linux-gnu status major 1 minor
David> 9.0 year 2004 month 04 day 12 language R
David> A little while before upgrading I noted my previous R
David> version (for a post that I redrafted 7 times and
David> never sent because I found the answer through
David> refining my draft), and it was:
>> version
David> _ platform i686-pc-linux-gnu arch i686 os
David> linux-gnu system i686, linux-gnu status Patched major
David> 1 minor 8.1 year 2004 month 02 day 16 language R
David> So, can I get the old help files? Or it is easy to
David> point me to a documented change? Or is it clear from
David> my code what has changed or what I am or was doing
David> wrong?
David> Thanks.
David> Dave
David> -- David Whiting Dar es Salaam, Tanzania
More information about the R-help
mailing list