Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R根据列名中包含的字符删除列_R_Subset - Fatal编程技术网

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”来重命名列?您希望新名称是什么?您可能希望返回并查看您的
加入
,因为您可能可以在那里清理所有这些内容