R-alpha: tapply patch -- Thomas version?
Martin Maechler
Martin Maechler <maechler@stat.math.ethz.ch>
Wed, 20 Aug 1997 10:45:21 +0200
>>>>> Patrick Lindsey writes:
> A few problems in R-0.50-a3 (which were also in R-0.49):
> 1)
> y <- c(10,11,12,13,14,NA,NA)
> n <- length(y)
> missed <- (1:n)[is.na(y)]
> notmissed <- (1:n)[!is.na(y)]
> blocks <- cut(missed,breaks=c(0,notmissed,n+1))
> a <- function(v) {
> q <- range(v)
> c(q[1]-1,q[2]+1)
> }
> brackets <- tapply(missed,blocks,a)
> This codes gives the following in S:
> .....
Kurt> I think the patch below (which should make it into the next set of
Kurt> patches) fixes that.
yes, it does fix the problem -- and it has been in the current source tree
for about 10 days...
Kurt> (Except for the differences in cut() ...)
Kurt> --- src/library/base/funs/tapply.orig Fri Feb 7 01:08:31 1997
Kurt> +++ src/library/base/funs/tapply Sun Aug 10 21:57:31 1997
Kurt> @@ -14,7 +14,7 @@
Kurt> index <- as.factor(INDEX[[i]])
Kurt> if (length(index) != nx)
Kurt> stop("arguments must have same length")
Kurt> - namelist[[i]] <- levels(index)
Kurt> + namelist[[i]] <- unique(levels(index)[index])
Kurt> extent[[i]] <- nlevels(index)
Kurt> group <- group + ngroup * (codes(index) - 1)
Kurt> ngroup <- ngroup * nlevels(index)
Thomas, what does your function do differently ?
-- Martin
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-