[R] how to add a column from another dataset with "merge"

arun smartpink111 at yahoo.com
Fri Dec 7 16:00:54 CET 2012



Hi,
You could use sort=FALSE in ?merge()
d1<-data.frame(id=c(9,8,6,5,4,3,1))
d2<-data.frame(id=c(9,8,6),age=c(46,56,52))
 d<-merge(d1,d2,all.x=TRUE,sort=FALSE)
#or
library(plyr)
join(d1,d2,by="id",type="full")
#  id age
#1  9  46
#2  8  56
#3  6  52
#4  5  NA
#5  4  NA
#6  3  NA
#7  1  NA
A.K.

----- Original Message -----
From: Pete Brecknock <Peter.Brecknock at bp.com>
To: r-help at r-project.org
Cc: 
Sent: Friday, December 7, 2012 9:12 AM
Subject: Re: [R] how to add a column from another dataset with "merge"

kiotoqq wrote
> I want to add a shorter column to my dataset with the function "merge", 
> it
> should be filled with NAs wo be as long as the other colums, like this:
> 
> id    age
> 9    46
> 8    56
> 6   52
> 5   NA
> 4   NA
> 3  NA
> 1  NA
> 
> i did this:
> pa1 <- merge(pa1, an1, by="mergeid")
> 
> and it says "'by' must specify uniquely valid column(s)"

how about ...

#Data
d1<-data.frame(id=c(9,8,6,4,4,3,1))
d2<-data.frame(id=c(9,8,6),age=c(46,56,52))

# Left Merge
d<-merge(d1,d2,all.x=TRUE)

# Reorder
d[order(d$id,decreasing=TRUE),]

HTH

Pete



--
View this message in context: http://r.789695.n4.nabble.com/how-to-add-a-column-from-another-dataset-with-merge-tp4652482p4652486.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.





More information about the R-help mailing list