Merging DataFrames

R also provides a built-in command, merge, in order to join DataFrames. Let us create a separate DataFrame with the geographic location of the center of each state (Latitude and Longitude):

state2 <- data.frame(State=state.name, Latitude=state.center$y, Longitude=state.center$x) 
 
# The syntax for merge is as follows: 
 
## S3 method for class 'data.frame' 
# merge(x, y, by = intersect(names(x), names(y)), 
#       by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, 
#       sort = TRUE, suffixes = c(".x",".y"), 
#       incomparables = NULL, ...) 
 
# Arguments 
 
# x and y = the DataFrames we want to merge 
# by = the column names by which we want to perform the merge 
 
# Note that since this can be different (if say the same column had different names in different DataFrames), we can use by.x and by.y to specify the corresponding name of the column across the 2 DataFrames 
 
# all = whether to keep rows that did not match in either in x or y  
# Using all=T means keep all rows of both the DataFrames even if there was no match 
 
merged <- merge(state, state2, by="State", all=T) 
merged 

Output is as follows:

New rows and columns can be added using the rbind and cbind functions.

For example, if, say, we create two DataFrames using a subset of the state DataFrame, we can combine them as follows:

# Using cbind to combine 2 separate data.frame of 2 columns each 
state0 <- state[,c(1:2)] 
state1 <- state[,c(3:4)] 
 
dim(state0) 
dim(state1) 
 
state01 <- cbind(state0,state1) 
state01 
 
# Population Income Illiteracy Life.Exp 
# Alabama              3615   3624        2.1    69.05 
# Alaska                365   6315        1.5    69.31 
# Arizona              2212   4530        1.8    70.55 
# Arkansas             2110   3378        1.9    70.66 
 
# Using rbind to combine 2 separate data.frame of 2 rows each 
state0 <- state[c(1:2),] 
state1 <- state[c(3:4),] 
 
dim(state0) 
dim(state1) 
 
state01 <- rbind(state0,state1) 
state01 

Output is as follows:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.224.67.235