如何对R中数据框的列名进行模糊匹配,以便将它们一起选择

如何对R中数据框的列名进行模糊匹配,以便将它们一起选择,r,R,假设我有一个这样的数据帧 `str(data) $ ZN : int 1 1 2 2 2 3 3 4 4 5 ... $ X.AB.FFLOWS : int 17 17 22 22 22 17 17 17 17 22 ... $ X.BA.FFLOWS : int 17 17 22 22 22 17 17 17 17 22 ... $ AB_COSTAM

假设我有一个这样的数据帧

`str(data)
 $ ZN                        : int  1 1 2 2 2 3 3 4 4 5 ...
 $ X.AB.FFLOWS               : int  17 17 22 22 22 17 17 17 17 22 ...
 $ X.BA.FFLOWS               : int  17 17 22 22 22 17 17 17 17 22 ...
 $ AB_COSTAM                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ BA_COSTAM                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ AB_COSTMD                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ BA_COSTMD                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ AB_COSTPM                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ BA_COSTPM                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ AB_COSTNT                 : num  0.197 0.535 0.51 0.528 0.361 ...
 $ BA_COSTNT                 : num  0.197 0.535 0.51 0.528 0.361 ...`
我想删除带有*成本*的所有列,如何一起删除?

您可以尝试以下操作:

data[,!grep!(".*_COST.*", colnames(data))]

我会这样做:

data_reduced <- data[,-grep("_COST",colnames(data),fixed=T)]

data\u减少了是的,这是个错误,你最好这样!”带grepl和带grep的“-”