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 column in R, insert multiple columns, insert a column with a constant value, insert before or after the column e.t.c
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 quick examples
# Using $ notation
chapters = c(76,86)
df$chapters = chapters
# By using bracket notation
chapters = c(76,86)
df['chapters'] <- chapters
# Add new column
chapters = c(76,86)
df2 <- cbind(df, chapters)
# Add multiple columns to dataframe
chapters = c(76,86)
price=c(144,553)
df3 <- cbind(df, chapters, price)
# 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")
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
# Output
# id pages name
#1 11 32 spark
#2 22 45 python
2. Add Column in R using $ Operator
By using the dollar in R you can refer to the column name of DataFrame and can be used to add a new column in R. In order to add first create a new column using vector and assign this to the df$new_colname
. The following example adds a new column chapters
to the DataFrame.
# Using $ notation
chapters = c(76,86)
df$chapters <- chapters
df
# Output
# id pages name chapters
#1 11 32 spark 76
#2 22 45 python 86
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. In order 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 empty column to DataFrame in R.
Conclusion
In this article, you have learned how to add a new column in R, add multiple columns, add a column with a constant value, e.t.c
You can also find examples explained in this article at R GitHub Project.