[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