5.1.4 Combine Data
You can join data from ore.frame
objects that represent database tables by using the merge
function.
Example 5-5 Joining Data from Two Tables
This example creates two data.frame
objects and merges them. It then calls the ore.create
function to create a database table for each data.frame
object. The ore.create
function automatically generates an ore.frame
object as a proxy object for the table. The ore.frame
object has the same name as the table. The example merges the ore.frame
objects. Note that the order of the results of the two merge
operations is not the same because the ore.frame
objects are unordered.
# Create data.frame objects. df1 <- data.frame(x1=1:5, y1=letters[1:5]) df2 <- data.frame(x2=5:1, y2=letters[11:15]) # Combine the data.frame objects. merge (df1, df2, by.x="x1", by.y="x2") # Create database tables and ore.frame proxy objects to correspond to # the local R objects df1 and df2. ore.create(df1, table="DF1_TABLE") ore.create(df2, table="DF2_TABLE") # Combine the ore.frame objects. merge (DF1_TABLE, DF2_TABLE, by.x="x1", by.y="x2")Listing for This Example
R> # Create data.frame objects.
R> df1 <- data.frame(x1=1:5, y1=letters[1:5])
R> df2 <- data.frame(x2=5:1, y2=letters[11:15])
R> # Combine the data.frame objects.
R> merge (df1, df2, by.x="x1", by.y="x2")
x1 y1 y2
1 1 a o
2 2 b n
3 3 c m
4 4 d l
5 5 e k
R> # Create database tables and ore.frame proxy objects to correspond to
R> # the local R objects df1 and df2.
R> ore.create(df1, table="DF1_TABLE")
R> ore.create(df2, table="DF2_TABLE")
R> # Combine the ore.frame objects.
R> merge (DF1_TABLE, DF2_TABLE, by.x="x1", by.y="x2")
x1 y1 y2
1 5 e k
2 4 d l
3 3 c m
4 2 b n
5 1 a o
Warning message:
ORE object has no unique key - using random order