使用R删除每个名称中包含常见短语的列

  • 本文关键字:包含常 短语 删除 使用
  • 更新时间 :
  • 英文 :


我使用的是人口普查局的数据,它提供了估计值和误差范围。它下载为一个Excel文件,列名如下:

HC01_EST_VC01
HC01_MOE_VC01
HC02_EST_VC01
HC02_MOE_VC01
HC03_EST_VC01
HC03_MOE_VC01
HC01_EST_VC03
HC01_MOE_VC03
etc.

一旦我读到R表(使用read.csv),我怎么能然后删除/删除误差范围列(例如HC01_MOE_VC01, HC02_MOE_VC01)?我读过关于删除列与常见的开始片段,但不常见的内部名称片段。

我将感谢你的建议。谢谢!

我们可以使用grep来子集非'MOE'的列。grepl的输出是一个逻辑向量。我们得到与匹配模式_MOE_的子字符串对应的TRUE值,而不匹配则得到FALSE值。我们否定(!)它,这样TRUE变成FALSE, FALSE变成TRUE,这样所有没有_MOE_的列名都是TRUE。这可用于列的子集。

df1[!grepl('_MOE_', names(df1))]

最新更新