如何对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的“-”