[R] Merge rows
Jim Lemon
jim at bitwrit.com.au
Sat Jul 12 09:07:24 CEST 2014
On Fri, 11 Jul 2014 12:19:39 PM Ryan de Vera wrote:
> Hello all,
>
> I have a data frame filled with senders and recipients. Some of the
senders
> have multiple rows with different recipients and I want to merge
those
> rows. For example I have
>
> a at email.com b at email.com
> a at email.com c at email.com d at email.com
> r at email.com f at email.com
> r at email.com h at email.com
>
> I want this to become
>
> a at email.com b at email.com c at email.com d at email.com
> r at email.com f at email.com h at email.com
>
> How would I go about doing this?
>
Hi Ryan,
This is a bit messy, but assuming that you do have a data frame like
this:
rdvdf<-
data.frame(sender=rep(c("a at email.com","r at email.com"),each=2),
recipient1=c("b at email.com","c at email.com","f at email.com","h at email.com"),
recipient2=c(NA,"d at email.com",NA,NA))
you can try this:
newdat<-list()
senderno<-1
for(sndr in unique(rdvdf$sender)) {
newvec<-
as.character(unique(unlist(rdvdf[rdvdf$sender==sndr,])))
newdat[[senderno]]<-newvec[!is.na(newvec)]
senderno<-senderno+1
}
Jim
More information about the R-help
mailing list