Re: [R] Data frame with 0 rows. (Thanks.)

From: Rolf Turner <r.turner_at_auckland.ac.nz>
Date: Thu, 21 Feb 2008 08:31:00 +1300

Thanks to Bill Venables, Gabor Grothendieck, and Tony Plate all of whom gave me useful advice in answer to my question:

>> For reasons best known only to myself ( :-) ) I wish to create a data
>> frame with 0 rows and 9 columns.
>> The best I've been able to come up with is:
>> junk <- as.data.frame(matrix(0,nrow=0,ncol=9))
>> Is there a sexier way?

My personal preference among the suggested solutions was Tony Plate's:

> > as.data.frame(rep(list(a=numeric(0)), 9))
> [1] a   a.1 a.2 a.3 a.4 a.5 a.6 a.7 a.8
> <0 rows> (or 0-length row.names)

Thanks again to all.

        cheers,

                Rolf Turner

P. S. It is interesting to observe that if you rbind() such a zero row data frame
onto another one (with the same column names of course) then the type/ mode of the columns
in the result is determined by the second (``non-empty'') data frame. It appears
that if you rbind two non-empty data frames, the type/mode of the columns of the
result is determined by coercion to a sort of minimal type --- at least rbind()-ing
numeric to factor yields character. I haven't experimented thoroughly (nor delved
into the source) but it would seem that the designers have very cleverly made the
result of rbinding as sensible as it is possible to be, given the silly behaviour
of the user!

                R. T.

######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed 20 Feb 2008 - 19:34:59 GMT

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 Wed 20 Feb 2008 - 20:30:15 GMT.

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

list of date sections of archive