R语言 如何使用Dplyr包删除一列

R语言 如何使用Dplyr包删除一列

在这篇文章中,我们将使用dplyr库在R编程语言中删除一列(几个)。

使用中的数据集

如何使用R语言中的Dplyr包删除一列

使用列名删除列

在这里,我们将使用select()方法来选择并通过其名称删除列。

语法

select(dataframe,-column_name)

这里,dataframe是输入数据框,column_name是数据框中要删除的列。

要删除多个列。

语法

select(dataframe,-c(column1,column2,. , column n))

这里,dataframe是输入的数据框架,列是数据框架中要删除的列。

例子: R程序根据列的名称来移除列

# load the library
library(dplyr)
  
# create dataframe with 3 columns
# id,name and address
data1=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'))
  
# remove id and name
print(select(data1,-c(name,id)))

输出

如何使用R语言中的Dplyr包删除一列

按位置删除列

在这里,我们将使用列索引或位置来删除列。我们将使用select()方法,通过移除一个列的位置来选择它。

注意: 索引从1开始

语法

select(dataframe,-index)

这里,dataframe是输入数据框架,index是要移除的数据框架中的列位置。

要删除多个列。

语法

select(dataframe,-c(index1,index2,.,index n))

这里,dataframe是输入的数据框架,indexes是要删除的数据框架中的列的位置。

例子: R程序按索引删除列

# load the library
library(dplyr)
  
# create dataframe with 3 columns
# id,name and address
data1=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'))
  
# remove id 
print(select(data1,-id))
  
# remove multiple columns- name,id
print(select(data1,-c(name,id)))

输出

如何使用R语言中的Dplyr包删除一列

删除包含一个值或匹配一个模式的列

让我们讨论一下如何删除包含字符或字符串的列。

方法1:使用contains()

contains() 可以删除包含给定子串的列。

语法

select(dataframe,-contains(‘sub_string’))

这里,dataframe是输入的数据框架,sub_string是列名中存在的字符串,将被移除。

方法2:使用 matches()

matches() 删除包含给定子串的列。

语法

select(dataframe,-matches(‘sub_string’))

这里,dataframe是输入的数据框架,sub_string是存在于列名中的字符串,将被删除。

例子: 使用contains()方法删除列的R程序

# load the library
library(dplyr)
  
# create dataframe with 3 columns
# id,name and address
data1=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'))
  
# remove column that contains na
print(select(data1,-contains('na')))
      
# remove column that contains re
print(select(data1,-contains('re')))

输出

如何使用R语言中的Dplyr包删除一列

移除以特定字符开始或结束的列

在这里,我们也可以根据开始和结束的字符来选择列。

  • starts_with() 用于返回以给定字符开始的列。

语法

select(dataframe,-starts_with(‘substring’))

其中,dataframe是输入的数据框架,substring是以它开始的字符/字符串。

  • ends_with() 用于返回以给定字符结束的列。

语法

select(dataframe,-ends_with(‘substring’))

其中,dataframe是输入的数据框架,substring是以它结束的字符/字符串。

例子: R程序删除一个以字符/子串开头的列

# load the library
library(dplyr)
  
# create dataframe with 3 columns
# id,name and address
data1=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'))
  
# remove column that starts with na
print(select(data1,-starts_with('na')))
      
# remove column that starts with ad
print(select(data1,-starts_with('ad')))

输出

如何使用R语言中的Dplyr包删除一列

例子: R程序删除以字符/子串结尾的列

# load the library
library(dplyr)
  
# create dataframe with 3 columns 
# id,name and address
data1=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'))
  
# remove column that ends with d
print(select(data1,-ends_with('d')))
      
# remove column that starts with ss
print(select(data1,-ends_with('ss')))

输出

如何使用R语言中的Dplyr包删除一列

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程