[Rd] "[.data.frame" allows un-named 3rd subscript (PR#989)
Charles C. Berry
cberry@tajo.ucsd.edu
Mon, 18 Jun 2001 14:09:49 -0700 (PDT)
See below.
On 18 Jun 2001, Peter Dalgaard BSA wrote:
> cberry@tajo.ucsd.edu writes:
>
> > Since the Extract page has usage as:
> >
> > x[i, j, ... , drop=TRUE]
> >
> > I would expect that 'drop=' would need to be given to the third 'subscript'
> >
> > > diag(4)[ , 4 , 4 ] # Forgot 'drop=' or added extra ','
> > Error in diag(4)[, 4, 4] : incorrect number of dimensions
> > >
> > > as.data.frame( diag(4) )[ , 4 , 4 ] # should return error, right?
> > [1] 0 0 0 1
> >
>
> And the bug is?
>
> The generic indexing should really be x[...,drop=T]. Methods for
> specific classes can specialize to a particular number of indices if
> they want to, which is what is happening here
>
> > get ("[.data.frame")
> function (x, i, j, drop = if (missing(i)) TRUE else length(cols) ==
> 1)
>
> one could fairly easily slip in a "..." argument after "j", and then
> inside the function give an error if "..." is not empty, but what
> would the point be?
>
The point would be to catch errors like this
for ( i in 1:2 ) foo[i,2] <- my.fun( bar[,i,2] , another.arg )
that might otherwise pass unnoticed when 'bar' is a data.frame.
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry@tajo.ucsd.edu UC San Diego
http://hacuna.ucsd.edu/members/ccb.html La Jolla, San Diego 92093-0645
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._