Re: [Rd] as.data.frame.character lacks nm= argument

From: William Dunlap <wdunlap_at_tibco.com>
Date: Fri, 14 Sep 2012 14:43:15 +0000

Thanks Brian,

I am not sure why the user who ran into this problem was using

   as.data.frame(theColumn, nm=theName)
but it may have been an attempt to make a data.frame with a variable for a column name, which is a pain when calling data.frame.

It also is faster, but I doubt that was the reason:   > system.time(for(i in 1:1e4)data.frame(x=log(seq_len(100))))

     user  system elapsed 
     1.06    0.00    1.06 
  > system.time(for(i in 1:1e4)as.data.frame(log(seq_len(100))))
     user  system elapsed 
     0.62    0.00    0.63 
  > system.time(for(i in 1:1e4)as.data.frame(log(seq_len(100)), nm="x"))
     user  system elapsed 
     0.17    0.00    0.17  

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

> -----Original Message-----
> From: Prof Brian Ripley [mailto:ripley_at_stats.ox.ac.uk]
> Sent: Friday, September 14, 2012 6:25 AM
> To: Bert Gunter
> Cc: William Dunlap; r-devel_at_r-project.org
> Subject: Re: [Rd] as.data.frame.character lacks nm= argument
>
> On 13/09/2012 21:48, Bert Gunter wrote:
> > Bill:
> >
> > as.data.frame.character() has no nm, argument, so providing one causes
> > the error as you can see from the code. Presumably, this is what you
> > meant by bug/inconsistency, right?
>
> This is using an undocumented argument, 'nm'. I don't believe anything
> is said about what might happen if you do that except that it will be
> passed to methods -- they are not obliged to accept it.
>
> If it were intended for this to be a feature, I think the author might
> have chosen a less opaque name than 'nm'.
>
> Where we go from here is under discussion in R-core.
>
> >
> > -- Bert
> >
> > On Thu, Sep 13, 2012 at 1:32 PM, William Dunlap <wdunlap_at_tibco.com> wrote:
> >> Is the following behavior with as.data.frame(nm=...) a bug? It is an inconsistency:
> >>
> >>> as.data.frame(LETTERS[1:10], nm="FirstTenLetters")
> >> Error in as.data.frame.vector(x, ..., nm = nm) :
> >> formal argument "nm" matched by multiple actual arguments
> >>
> >> nm= works for integer arguments:
> >>
> >>> as.data.frame(1:10, nm="OneToTen")
> >> OneToTen
> >> 1 1
> >> 2 2
> >> 3 3
> >> 4 4
> >> 5 5
> >> 6 6
> >> 7 7
> >> 8 8
> >> 9 9
> >> 10 10
> >>
> >> Bill Dunlap
> >> Spotfire, TIBCO Software
> >> wdunlap tibco.com
> >>
> >> ______________________________________________
> >> 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



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 14 Sep 2012 - 14:47:04 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 15 Sep 2012 - 03:20:42 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive