📜  从 R 中的给定 DataFrame 按名称删除列

📅  最后修改于: 2022-05-13 01:55:05.744000             🧑  作者: Mango

从 R 中的给定 DataFrame 按名称删除列

从数据框中删除列仅用于删除数据框中不需要的列。在本文中,我们将讨论从 R 中的给定数据帧中按名称删除列的两种不同方法。

下面讨论了从数据框中按名称删除列的不同方法是 R 语言

方法一:使用subset()

这是删除列的最简单方法之一是使用带有“-”符号的 subset()函数,该符号表示删除变量。 R 语言中的此函数用于创建数据框的子集,也可用于从数据框中删除列。

方法

  • 创建数据框
  • 选择要删除的数据子集
  • 放一个减号
  • 分配给初始数据框
  • 显示数据框

例子:

R
gfg <- data.frame(a=c('i','ii','iii','iv','v'),
                  x=c('I','II','III','IV','V'), 
                  y=c(1,2,3,4,5), 
                  z=c('a','b','c','d','e'))
  
print('Original dataframe:-')
gfg
  
gfg = subset(gfg, select = -c(x,z) )
print('Modified dataframe:-')
gfg


R
gfg <- data.frame(a=c('i','ii','iii','iv','v'),
                  x=c('I','II','III','IV','V'),
                  y=c(1,2,3,4,5),
                  z=c('a','b','c','d','e'))
  
print('Original dataframe:-')
gfg
  
drop <- c("x","z")
  
gfg = gfg[,!(names(gfg) %in% drop)]
print('Modified dataframe:-')
gfg


R
library(dplyr)
  
gfg <- data.frame(a=c('i','ii','iii','iv','v'), 
                  x=c('I','II','III','IV','V'), 
                  y=c(1,2,3,4,5),
                  z=c('a','b','c','d','e'))
  
print('Original dataframe:-')
gfg
  
print('Modified dataframe:-')
select(gfg, -a)


输出:

方法二:使用names()

在这个方法中,我们创建了一个名为 drop 的字符向量,我们将在其中存储列名,然后我们告诉 R 选择除向量 drop 中指定的列名之外的所有变量。这 '!'符号表示否定。

R 语言中的函数names() 用于获取或设置对象的名称。该函数将对象(即向量、矩阵或数据框)作为参数以及要分配给对象名称的值。传递的值向量的长度必须与要命名的对象的长度完全相等,并返回所有列名。



方法

  • 创建数据框
  • 选择要删除的列
  • 应用否定
  • 将其分配给初始数据框
  • 显示数据框

例子:

电阻

gfg <- data.frame(a=c('i','ii','iii','iv','v'),
                  x=c('I','II','III','IV','V'),
                  y=c(1,2,3,4,5),
                  z=c('a','b','c','d','e'))
  
print('Original dataframe:-')
gfg
  
drop <- c("x","z")
  
gfg = gfg[,!(names(gfg) %in% drop)]
print('Modified dataframe:-')
gfg

输出:

方法 3:使用 select()

在这种方法中,我们将通过在 R 语言中导入 dplyr 库并指定参数来删除数据集的列来使用 select()。基本上,这个函数只保留你提到的变量。

方法

  • 导入模块
  • 创建数据框
  • 选择要删除的列
  • 应用减号
  • 将其分配给初始数据框
  • 显示数据框

例子:-

电阻

library(dplyr)
  
gfg <- data.frame(a=c('i','ii','iii','iv','v'), 
                  x=c('I','II','III','IV','V'), 
                  y=c(1,2,3,4,5),
                  z=c('a','b','c','d','e'))
  
print('Original dataframe:-')
gfg
  
print('Modified dataframe:-')
select(gfg, -a)

输出:-