R - Concatenate two dataframes?

R Programming

Given two data frames a and b:

> a

           a           b           c

1 -0.2246894 -1.48167912 -1.65099363

2  0.5559320 -0.87898575 -0.15634590

3  1.8469466 -0.01487524 -0.53098215

4 -0.6875051  0.23880967  0.01824621

5 -0.6735163  0.75485292  0.44154092

 

 

> b

           a          c

1  0.4287284 -0.3295925

2  0.5201492  0.3341251

3 -2.6355570  1.7916780

4 -1.3645337  1.3642276

5 -0.4954542 -0.6660001

Is there a simple way to concatenate these so as to return a new data frame of the form below?

 > new

           a                   b           c

1  -0.2246894   -1.48167912106676 -1.65099363

2   0.5559320  -0.878985746842256 -0.15634590

3   1.8469466 -0.0148752354840942 -0.53098215

4  -0.6875051   0.238809666690982  0.01824621

5  -0.6735163   0.754852923524198  0.44154092

6   0.4287284                  NA -0.32959248

7   0.5201492                  NA  0.33412510

8  -2.6355570                  NA  1.79167801

9  -1.3645337                  NA  1.36422764

10 -0.4954542                  NA -0.66600006

 

I want to merge the data frames, match the headers and insert NA in for positions in data frame b where the header is missing.
 


If you want to unleash your potential in this competitive field, please visit the R Programming course page for more information, where you can find the R Programming tutorials and R Programming frequently asked interview questions and answers as well.

2
Answers

Replies

You can use rbind to merge two data frames. But it would require to have the same columns in both the data frames. Your first data frame (a) has columns - a, b, c. And your second data frame (b) has columns - a, c. The second data frame (b) is missing the b column. So you can add a column with NA and then merge the two data frames. Here is the script for it.



b$b <- NA


FinalDataFrame <- rbind(a, b)

 

You can use the dind_rows function from the dplyr package. Here is how you can use it.



require(dplyr)


new <- bind_rows(a,b)


new

 
 

This topic has been locked/unapproved. No replies allowed

Login to participate in this discussion.

Leave a reply

Before proceeding, please check your email for a verification link. If you did not receive the email, click here to request another.
To Top