[R] appending similar data frames?

Warnes, Gregory R gregory_r_warnes at groton.pfizer.com
Tue Dec 4 18:28:48 CET 2001


I wasn't aware of the S-plus function 'concat'.  I'll rename my function
'combine' (unless someone else has a better suggestion).

-Greg


 >  -----Original Message-----
 >  From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk]
 >  Sent: Monday, December 03, 2001 5:42 PM
 >  To: Warnes, Gregory R
 >  Cc: 'mmiller3 at iupui.edu'; r-help at stat.math.ethz.ch
 >  Subject: RE: [R] appending similar data frames?
 >  
 >  
 >  As S-PLUS has a function concat() which does something 
 >  different (like c,
 >  strips names) could you use a different name?
 >  
 >  B
 >  
 >  On Mon, 3 Dec 2001, Warnes, Gregory R wrote:
 >  
 >  >  >  From: mmiller3 at iupui.edu [mailto:mmiller3 at iupui.edu]
 >  >  >
 >  >  >  Dear R gang,
 >  >  >
 >  >  >  Can anyone help me sort out how to append one data frame to
 >  >  >  another while adding a factor to distinguish which was the
 >  >  >  original frame?
 >  >  >
 >  >
 >  > Here is the function that I wrote to accomplish this 
 >  task.  It will appear
 >  > in the next version of the gregmisc library (due sometime 
 >  January).
 >  >
 >  > concat  <-  function(..., names=NULL)
 >  >   {
 >  >     tmp  <-  list(...)
 >  >     if(is.null(names)) names  <- names(tmp)
 >  >     if(is.null(names)) names  <- sapply( 
 >  as.list(match.call()), deparse)[-1]
 >  >
 >  >     if( any(
 >  >             sapply(tmp, is.matrix)
 >  >             |
 >  >             sapply(tmp, is.data.frame) ) )
 >  >       {
 >  >         len  <-  sapply(tmp, function(x) c(dim(x),1)[1] )
 >  >         len[is.null(len)]  <-  1
 >  >         data <-  rbind( ... )
 >  >       }
 >  >     else
 >  >       {
 >  >         len  <- sapply(tmp,length)
 >  >         data  <-  unlist(tmp)
 >  >
 >  >       }
 >  >
 >  >     namelist  <- factor(rep(names, len), levels=names)
 >  >
 >  >     return( data.frame( data, source=namelist) )
 >  >   }
 >  >
 >  > You use it like:
 >  >
 >  > > x
 >  >   exp size
 >  > 1   a   10
 >  > 2   b    9
 >  > 3   c   10
 >  > 4   d   12
 >  > 5   e   11
 >  > > y
 >  >   exp size
 >  > 1   a   13
 >  > 2   b   15
 >  > 3   c   12
 >  > 4   d   20
 >  > 5   e   15
 >  > > concat(x,y)
 >  >    exp size source
 >  > 1    a   10      x
 >  > 2    b    9      x
 >  > 3    c   10      x
 >  > 4    d   12      x
 >  > 5    e   11      x
 >  > 6    a   13      y
 >  > 7    b   15      y
 >  > 8    c   12      y
 >  > 9    d   20      y
 >  > 10   e   15      y
 >  >
 >  >
 >  > LEGAL NOTICE
 >  > Unless expressly stated otherwise, this message is 
 >  confidential and may be privileged. It is intended for the 
 >  addressee(s) only. Access to this E-mail by anyone else is 
 >  unauthorized. If you are not an addressee, any disclosure 
 >  or copying of the contents of this E-mail or any action 
 >  taken (or not taken) in reliance on it is unauthorized and 
 >  may be unlawful. If you are not an addressee, please inform 
 >  the sender immediately.
 >  > 
 >  -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
 >  -.-.-.-.-.-.-.-.-.-
 >  > r-help 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-help-request at stat.math.ethz.ch
>
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
_._
>

-- 
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 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
-.-
r-help 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-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
_._
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help 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-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list