[Rd] repeat bug report: as.factor argument to row / col fails if NULL dimnames
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Dec 12 10:08:11 CET 2008
I have never seen the report in the repository. There were problems with
R-bugs at around that time (most email submission was stalled for a month
or so).
However, I think the problems are far more serious: the help page says
Returns a matrix of integers indicating their column number in a
matrix-like object.
...
as.factor: a logical value indicating whether the value should be
returned as a factor rather than as numeric.
Value:
An integer matrix with the same dimensions as 'x' and whose
'ij'-th element is equal to 'j'.
There is no mention of using the column labels as the values and the
result was not even a matrix. I certainly expected the factor levels to
be numeric.
I presume that the intention is to use the column labels (default
seq_len(nrow(x)) ) in place of the numbers, and to return a factor matrix,
so I have implemented that for col() and row().
However, I do wonder that anyone was using as.factor=TRUE given that it
did not do anything like what it was documented to.
On Mon, 8 Dec 2008, Dan Davison wrote:
> This bug was reported to r-devel by Martin Morgan on 13th May 2008
> (original email pasted below). However I couldn't locate it in the bug
> tracker (with searches for row, col, as\.factor) It is still present
> in today's svn version (rev 47115). I hope I'm doing something useful
> by bringing it up again. I have not sent this to r-bugs, as I'm
> concerned that not locating it in the bug tracker could be my failing.
>
> Dan
>
> original report:
> ------------------------------------------------------------------
> col(matrix(0, 5, 5), as.factor=TRUE) fails
>
>> col(matrix(0, 5, 5), as.factor=TRUE)
> Error in factor(.Internal(col(dim(x))), labels = colnames(x)) :
> invalid labels; length 0 should be 1 or 5
>
> when the matrix has no dimnames. This is not as advertised. I would
> have expected the equivalent of
>
> factor(.Internal(col(dim(x))),
> labels=colnames(x, do.NULL=FALSE, prefix=""))
>
>> sessionInfo()
> R version 2.8.0 Under development (unstable) (2008-05-13 r45682)
> x86_64-unknown-linux-gnu
>
> Martin
> --
> Martin Morgan
> Computational Biology / Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N.
> PO Box 19024 Seattle, WA 98109
>
> Location: Arnold Building M2 B169
> Phone: (206) 667-2793
> ------------------------------------------------------------------
>
>
> --
> http://www.stats.ox.ac.uk/~davison
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
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