[R] Question about merge()

X.H Chen xchen_stat at hotmail.com
Sun Sep 24 01:07:39 CEST 2006


merge() can handle this if you specify the "by" parameters to the same 
length vector for x and y. The parameters corresponds the columns you want 
to filter out under certain conditions and add the values to the merging 
data.frame.

For example(modified from No.1 example from ?merge):

authors <- data.frame(
         surname = c("Tukey", "Venables", "Tierney", "Ripley", "McNeil"),
         nationality = c("US", "Australia", "US", "UK", "Australia"),
         deceased = c("yes", rep("no", 4)),year=c(2000,2001,2000,2001,2000))
books <- data.frame(
         name = c("Tukey", "Venables", "Tierney",
                  "Ripley", "Ripley", "McNeil", "R Core"),
         title = c("Exploratory Data Analysis",
                   "Modern Applied Statistics ...",
                   "LISP-STAT",
                   "Spatial Statistics", "Stochastic Simulation",
                   "Interactive Data Analysis",
                   "An Introduction to R"),
         other.author = c(NA, "Ripley", NA, NA, NA, NA,
                          "Venables & 
Smith"),year=c(1999,2001,2000,2001,2000,2001,2002))

#Compare the following results:
merge(authors,books,by.x="surname",by.y="name")
merge(authors,books,by.x=c("surname","year"),by.y=c("name","year"))

Hope this can be some help of you.

Xiaohui Chen

Dept. of Statistics
UBC, Canada




>From: Jonathan Greenberg <jgreenberg at arc.nasa.gov>
>To: R-help <r-help at stat.math.ethz.ch>
>Subject: [R] Question about merge()
>Date: Sat, 23 Sep 2006 15:08:22 -0700
>
>If I want to do a join based on *two* matching fields in two data frames,
>can merge() handle this?  It appears to only handle a single matching 
>column
>-- do I need to make a "metacolumn" or is there some way to do this?  E.g.:
>
>Dataframe 1 contains columns A,B,C and Dataframe 2 contains A,B,D
>
>I want an output A,B,C,D which places C and D together if A and B match
>(otherwise, make two new rows, e.g. Ax,Bx,Cx,nodata and Ay,By,nodata,Dy)
>
>--j
>
>--
>Jonathan A. Greenberg, PhD
>NRC Research Associate
>NASA Ames Research Center
>MS 242-4
>Moffett Field, CA 94035-1000
>Office: 650-604-5896
>Cell: 415-794-5043
>AIM: jgrn307
>MSN: jgrn307 at hotmail.com
>
>______________________________________________
>R-help at stat.math.ethz.ch 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.

_________________________________________________________________
Buy what you want when you want it on Sympatico / MSN Shopping



More information about the R-help mailing list