data.frame(...) not constructing "1:n" row.names [diff. S <--> R]
Kurt Hornik
Kurt.Hornik@ci.tuwien.ac.at
Fri, 16 Jan 1998 21:29:04 +0100
>>>>> Peter Dalgaard BSA writes:
> Martin Maechler <maechler@stat.math.ethz.ch> writes:
>>
>> [I think Doug Bates has already alluded to this, somewhere..]
And I did, too ...
>>
>> In R, data.frame( ... )
>>
>> does not construct row.names whereas in S, it does:
> ...
>> R core: Is there a good reason for this?
> No.
>> Well (as a member of R-core, I give my answer):
>>
>> Memory efficiency can be a good reason, actually...
>> together with ``cleanness'' :
>> ``1:n'' are the IMPLICIT DEFAULT row.names
>>
>> We could stay at the current way `internally',
>> but make sure that all functions working on data.frames `d.f'
>> automatically work as if
>>
>> row.names(d.f) *was indeed* == paste(1:nrow(d.f)
> Ugh. Please, let's avoid implicit stuff. All the special-casing
> involved all over the place would soon outweigh the saved storage of a
> character vector. We'll get nothing but trouble from it. Just add the
> rownames.
Yes. Does R- simply add a default 1:n for the row names if there are
none? Then we should do the same.
-k
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._