To append a single row or multiple rows to the R data frame use either rbin(), add_row() from the tidyverse package, or rows_insert() from the dplyr package. In this article, I will use these methods to explain appending rows to the existing data frame.
1. Quick Example of Appending Rows to Data Frame
Below are some examples of appending rows to a data frame.
#append row to end of data frame
#using rbind()
vecRow <- c(15, 'Kumar')
df1 <- rbind(df1,vecRow)
#using nrow()
df1[nrow(df1) + 1,] = vecRow
#using tidyverse to add row
library(tidyverse)
df1 <- df1 %>% add_row(id='20',
name='Ann',
.before=2)
library(dplyr)
df2 = data.frame(id = '25', name = 'Lyn')
df2 <- df1 %>%
rows_insert(df2)
Let’s create an R DataFrame, run these examples, and explore the output. If you already have data in CSV you can easily import CSV files to R DataFrame. Also, refer to Import Excel File into R.
# Create DataFrame
df1 <- data.frame(id = c(10,11),
name = c('sai','ram'))
df1
Yields below output.
2. Using rbin() to Append Rows to R Data Frame
Use the rbin() function from the R base package to append rows to the data frame in R. This function appends all rows at the end of the data frame and returns the result in a new data frame. This function requires the data frame and the row you are appending to have the same columns.
In the below example, I have assigned the result to the data frame df1
object.
#append row to end of data frame
#using rbind()
vecRow <- c(15, 'Kumar')
df1 <- rbind(df1,vecRow)
df1
Yields below output.
Alternatively, you can also use the nrow() function. This approach updates the data frame with the row you inserted.
# Append row to end of data frame # using nrow() df1[nrow(df1) + 1,] = vecRow df13. Using tidyverse Package to Append Rows
The add_row()
function from the tidyverse package can be used to append rows to an R data frame. This function enables you to add a row at a specific index. The example below shows how to insert a row at the second position.
To use this, you have to the install package tidyverse first using install.packages('tidyverse')
and load it using library(tidyverse)
.
# Using tidyverse to add row
library(tidyverse)
df1 <- df1 %>% add_row(id='20',
name='Ann',
.before=2)
df1
4. Using dplyr Package to Append Rows
Finally, let’s use the rows_insert()
function from the dplyr package to append a row to the R data frame. In order to use this, you have to install package dplyr first using install.packages('dplyr')
and load it using library(dplyr)
. In the below example, %>% is a pipe or infix operator.
# Using dplyr
library(dplyr)
df2 = data.frame(id = '25', name = 'Lyn')
df2 <- df1 %>%
rows_insert(df2)
df2
5. Append Multiple Rows to Data Frame
By using the approaches explained above you can also append multiple rows to the R data frame. Below is an example.
# Create DataFrame
df1 <- data.frame(id = c(10,11),
name = c('sai','ram'))
df1
# Create DataFrame
df2 <- data.frame(id = c(16,17),
name = c('Don','Lin'))
df2
#Append multiple rows to the data frame
#using rbind()
df3 <- rbind(df1,df2)
df3
For other approaches refer to append data frames in R, here I have covered several examples of appending data frames into a single data frame.
6. Conclusion
In this article, you have learned how to append single row and multiple rows to the R data frame by using rbin() function from the R base package, add_row() from the tidyverse package, and rows_insert() from the dplyr package.
Related Articles
- Add or Append Element to Vector in R?
- Add or Append Element to List in R?
- How to Add Row to DataFrame in R?
- How to Add Empty Column to DataFrame in R?
- Add Column to DataFrame in R
- R Append Data Frames