[Rd] The function 'apply' (PR#2633)
ripley at stats.ox.ac.uk
ripley at stats.ox.ac.uk
Fri Mar 14 08:57:11 MET 2003
The `something wrong' is in your reading (or lack of it). Not checking
the help page before filing a bug report just wastes the developer's time.
That *is* `a cause for concern': it applies to far too many bug reports.
Let me read the help(apply) page for you:
X: the array to be used.
Details:
If `X' is not an array but has a dimension attribute, `apply'
attempts to coerce it to an array via `as.matrix' if it is
two-dimensional (e.g. data frames) or via `as.array'.
so test.frame (presumably a data frame) is coerced to a matrix and the
results are correct.
What I believe you intended can be done by sapply(test.frame, is.factor).
If you do ever find a real bug in R, please supply a reproducible example
with your report. You have omitted to tell us what test.frame is.
On Thu, 13 Mar 2003 louisept at pweh.com wrote:
> Full_Name: Paul Louisell
> Version: 1.6.2
> OS: Windows NT
> Submission from: (NULL) (192.249.47.9)
>
>
> I've found a problem with either the 'apply' or 'is.factor' functions, and it
> seems like it might be cause for concern. Here are the commands taken directly
> from the R session:
>
> > is.factor(test.frame[, 1])
> [1] TRUE
> > is.factor(test.frame[, 2])
> [1] TRUE
> > is.factor(test.frame[, 3])
> [1] TRUE
> > is.factor(test.frame[, 4])
> [1] TRUE
> > apply(test.frame, 2, is.factor)
> X1 X2 X3 X4
> FALSE FALSE FALSE FALSE
>
>
> All of the variables in test.frame are factors, and is.factor returns TRUE when
> it's used on each factor individually. When it's used inside of apply, all of
> the variables return the value FALSE. So there's something wrong in at least one
> of these functions.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list