R根据列名中包含的字符删除列
当条件是列名中包含的字符时,如何基于条件删除列? 例如,在一系列内部联接之后,我得到了许多冗余列:R根据列名中包含的字符删除列,r,subset,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 感谢我们可以使用grep来识别具有.x的列名,并
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
感谢我们可以使用
grep
来识别具有.x
的列名,并使用invert=TRUE
返回其他列的索引
df1[grep("\\.x", names(df1), invert=TRUE)]
# client.y age.y.
#1 132 23
#2 112 12
使用
df1[grep(\\.x),names(df1,invert=TRUE)]
dplyr::select(df,-contains(.x))
谢谢,它可以工作。我们是否可以使用此代码的修改版本通过删除“.x”来重命名列?您希望新名称是什么?您可能希望返回并查看您的加入,因为您可能可以在那里清理所有这些内容