To add a new column or variable to the DataFrame (data.frame) in R use either the $
operator, []
notation, cbin()
base function, or add_column()
function from the tibble package.
In this article, I will explain how to insert a new columns of single/multiple in R, and insert a column with a constant value, insert before or after the column e.t.c with examples.
The following are different methods to add new columns to Data Frame in R that I covered in this article.
- $ operator
- [] notation
- cbin() R base function
- add_column() function from tibble.
- mutate() function from dplyr.
1. Quick Examples of Add Column to DataFrame
Following are quick examples of how to add a single column or multiple columns to DataFrame in R.
# Below are the quick examples
# Example 1: Using $ notation
chapters = c(76,86)
df$chapters = chapters
# Example 2: By using bracket notation
chapters = c(76,86)
df['chapters'] <- chapters
# Example 3: Add new column
chapters = c(76,86)
df2 <- cbind(df, chapters)
# Example 4: Add multiple columns to dataframe
chapters = c(76,86)
price=c(144,553)
df3 <- cbind(df, chapters, price)
# Example 5: Add new column from existing column
df$new_pages <- df$pages-2
library('tidyverse')
# using add_column()
df2 <- df %>%
add_column(add_column = "constant_value")
What is DataFrame in R
A data frame in R is a fundamental data structure that is used for storing and manipulating structured data which is in the format of rows and columns similar to an RDBMS table or spreadsheet. It is a two-dimensional data structure such that one dimension refers to the row and another dimension refers to a column. Each column in the data frame is a Vector of the same length, in other words, all columns in the data frame should have the same length.
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
df=data.frame(id=c(11,22),
pages=c(32,45),
name=c("spark","python"))
df
Yields below output.
2. Add Column in R using $ Operator
You can use the dollar($) in R to add a new column in R. We know that the dataframe can be formed using a list of vectors of the same length. The vectors in a list represent columns of dataFrame. Hence, you can add a new column to the dataframe by simply using $
notation specifying the vector of the same length and adding it to the dataframe.
Note: The length of the new vector (column) must be the length of existing vectors(columns).
Let’s create a new column using a vector and assign this to the df$new_colname
. The following example adds a new column chapters
to the DataFrame.
# Using $ notation to add new column
chapters = c(76,86)
df$chapters <- chapters
df
Yields below output.
3. Add Column in R using [] Notation
Similarly, another way to refer to a column name is by using df['new_column']
, assigning a vector to this to have a new column. This gives the same result as the $ operator however, this is the best approach to use as it is more user-friendly and the code is easy to read.
# By using bracket notation
chapters = c(76,86)
df['chapters'] <- chapters
df
Yields the same output as above.
4. Add Column Using cbin() Function
To add a new column in R, use cbin()
function. This function takes a DataFrame as a first argument and for the second argument, use the vector which creates a new column on the DataFrame. Note that this doesn’t update the existing DataFrame instead it returns a copy of the DataFrame after adding a new column.
# Add new column
chapters = c(76,86)
df2 <- cbind(df, chapters)
df2
Yields the same output as above.
5. Add Multiple Columns to DataFrame
By using the same cbin()
function you can add multiple columns to the DataFrame in R. The following example adds columns chapters
and price
to the DataFrame (data.frame).
# Add multiple columns to dataframe
chapters = c(76,86)
price=c(144,553)
df3 <- cbind(df, chapters, price)
# Output
# id pages name chapters price
# 1 11 32 spark 76 144
# 2 22 45 python 86 553
6. Add a New Column from the Existing
Finally using the R base let’s see how to add a new column from the existing DataFrame column.
# Add new column from existing column
df$new_pages <- df$pages-2
df
# Output
# id pages name new_pages
#1 11 32 spark 30
#2 22 45 python 43
7. By using add_column() from tidyverse
Use add_column()
function from tidyverse
to add a column to the DataFrame in R. This is a convenient way to add one or more columns to an existing data frame. To use this function first, you need to install R package by using install.packages("tidyverse")
and load it using the library("tidyverse")
.
The following example adds a constant column to DataFrame. All rows will have the same value.
# Load tidyverse
library("tidyverse")
# Using add_column()
df2 <- df %>%
add_column(add_column = "constant_value")
df2
# Output
# id pages name add_column
#1 11 32 spark constant_value
#2 22 45 python constant_value
By using the methods explained above you can also add an empty column to DataFrame in R.
Conclusion
In this article, you have learned how to add new single/multiple columns in R and add a column with a constant value, e.t.c with multiple examples.
You can also find examples explained in this article at R GitHub Project.
Related Articles
- How to Add Row to Data Frame in R?
- How to Add Element to List in R?
- How to Add Element to Vector in R?
- How to Add Empty Column to Data Frame in R?
- Reorder Columns of Data Frame in R
- R – Change Column Names of the Data Frame
- R Sort Data Frame Rows by Multiple Columns