Select variables (columns) in R using Dplyr

21 Jul, 2021
In this article, we are going to select variables or columns in R programming language using dplyr library.
Dataset in use:
Here we will use select() method to select column by its name
Syntax:
select(dataframe,column1,column2,.,column n)
Here, data frame is the input dataframe and columns are the columns in the dataframe to be displayed
Example 1: R program to select columns
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns# id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush',                        'sravan','gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada',                           'guntur','hyd','tenali','hyd'))  # select id column from the dataframe by # column nameprint(select(data1,id))    # select name column from the dataframe by# column nameprint(select(data1,name))
Output:
Example 2: R program to select multiple columns
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns # id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush',                        'sravan','gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada',                           'guntur','hyd','tenali','hyd'))  # select multiple columns from the dataframe# by column nameprint(select(data1,id,name,address))
Output:
We can also use the column position and get the column using select() method. Position starts with 1.
Syntax:
select(dataframe,column1_position,column2_position,.,column n_position)
where, dataframe is the input dataframe and column position is an column number
For selecting multiple columns we can use range operator “;” to select columns by their position
Syntax:
select(dataframe,start_position:end_position)
where, dataframe is the input dataframe, start_position  is a column number starting position and end_position  is a column number ending position
Example 1: R program to select particular column by column position
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns# id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush',                        'sravan','gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada',                           'guntur','hyd','tenali','hyd'))  # select first column by column positionprint(select(data1,1))  # select third column by column positionprint(select(data1,3))   
Output:
Example 2: R program to select multiple columns by positions
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns # id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada','guntur',                           'hyd','tenali','hyd'))  # select multiple column by column positionprint(select(data1,1,2))
Output:
Example 3: R program to select multiple columns by position with range operator
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns # id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada','guntur',                           'hyd','tenali','hyd'))  # select multiple column by column # position with : operatorprint(select(data1,1:3))
Output:
Here, we will display the column values based on values or pattern present in the column 
Display the column that contains the given sub string
Syntax:
select(dataframe,contains(‘sub_string’))
Here, dataframe is the input dataframe and sub_string is the string present in the column name
Example: R program to select column based on substring
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns # id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada','guntur',                           'hyd','tenali','hyd'))  # select column that contains amprint(select(data1,contains('am')))  # select column that contains dprint(select(data1,contains('d')))  # select column that contains ddprint(select(data1,contains('dd')))
Output:
It will check and display the column that contains the given sub string
select(dataframe,matches(‘sub_string’))
Here, dataframe is the input dataframe and sub_string is the string present in the column name
Example: R program to select column based on substring
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns # id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada','guntur',                           'hyd','tenali','hyd'))  # select column that matches with  amprint(select(data1,matches('am')))  # select column that matches with dprint(select(data1,matches ('d')))  # select column that matches with  ddprint(select(data1,matches ('dd')))
Output:
Here we can also select columns based on starting and ending characters.
starts_with() is used to return the column that starts with the given character.
Syntax:
select(dataframe,starts_with(‘substring’))
Where, dataframe is the input dataframe and substring is the character/string that starts with it
ends_with() is used to return the column that ends with the given character.
Syntax:
select(dataframe,ends_with(‘substring’))
where, dataframe is the input dataframe and substring is the character/string that ends with it
Example 1: R program to display columns that starts with a character/substring
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada','guntur',                           'hyd','tenali','hyd'))  # select column that starts with nprint(select(data1,starts_with('n')))  # select column that starts with addprint(select(data1,starts_with('add')))
Output:
Example 2: R program to select column that ends with a given string or character
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali','vijayawada',                           'vijayawada','guntur','hyd','tenali','hyd'))  # select column that ends with ssprint(select(data1,ends_with('ss')))  # select column that ends with dprint(select(data1,ends_with('d')))
Output:
We can select all the columns in the data frame by using everything() method.
Syntax:
select(dataframe,everything())
Example: R program to select all columns
R
# load the librarylibrary(dplyr)  # create dataframe with 3 columns# id,name and addressdata1=data.frame(id=c(1,2,3,4,5,6,7,1,4,2),                                    name=c('sravan','ojaswi','bobby','gnanesh',                        'rohith','pinkey','dhanush','sravan',                        'gnanesh','ojaswi'),                                    address=c('hyd','hyd','ponnur','tenali',                           'vijayawada','vijayawada','guntur',                           'hyd','tenali','hyd'))  # select all columns using everything methodprint(select(data1,everything()))
Output:
Picked
R Dplyr
R Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Change Color of Bars in Barchart using ggplot2 in R
How to Split Column Into Multiple Columns in R DataFrame?
Group by function in R using Dplyr
How to Change Axis Scales in R Plots?
R - if statement
Logistic Regression in R Programming
How to filter R DataFrame by values in a column?
Replace Specific Characters in String in R
How to import an Excel File into R ?
Joining of Dataframes in R Programming