[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 11:01:34 CET 2008
On Fri, 12 Dec 2008, Peter Dalgaard wrote:
> Prof Brian Ripley wrote:
>> 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).
>
> Maybe, but I don't see a PR# on _any_ of Martin Morgan's posts...
>
>> 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.
>
> There could, I suppose, be applications of the style
>
> library(ISwR)
> dd <- data.frame(count=c(caesar.shoe),
> caesar=row(caesar.shoe,as.factor=TRUE),
> size=col(caesar.shoe,as.factor=TRUE))
> anova(glm(count~caesar*size,family=poisson,data=dd))
>
> (as.data.frame.table is better in this case, I know). Notice that this will
> break if you change the value to a factor matrix.
>
> It is not clear that a matrix is desired -- an alternative point of view is
> that when you request a factor, it is intended to be used along with
> long-format data.
Yes, it is not clear (and I had given it some thought), but
a) a matrix result was documented and
b) it is easier to remove dims than add them (impossible without the
original matrix to hand).
>> 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.
>>>
--
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