R根据列名中包含的字符删除列

时间:2017-01-10 14:36:35

标签: r subset

当条件是列名中包含的字符时,如何根据条件删除列? 例如,在一系列内连接之后,我得到了很多冗余列:

client.x, client.y, age.y. age.x
  132        132       23    23
  112        112       12    12

我想要一个内衬删除包含例如" .x"的所有列,最后得到:

client.y, age.y. 
  132       23
  112       12

由于

1 个答案:

答案 0 :(得分:1)

我们可以使用grep来识别具有.x的列名,并使用invert=TRUE,它返回其他列的索引

df1[grep("\\.x", names(df1), invert=TRUE)]
#    client.y age.y.
#1      132     23
#2      112     12