用grepl替换R中数据框中列名中的字符串

ak7*_*ak7 4 r gsub dataframe

我有一个数据框,其中一些列以我想删除的 'dfall$PROFESSION' 开头。IE:

"dfall$PROFESSIONBusinessman"             "dfall$PROFESSIONDoctor"                 
[35] "dfall$PROFESSIONEngineer"                "dfall$PROFESSIONFarmer"                 
[37] "dfall$PROFESSIONHousewife"               "dfall$PROFESSIONLawyer"                 
[39] "dfall$PROFESSIONMissing"                 "dfall$PROFESSIONPensioner"
Run Code Online (Sandbox Code Playgroud)

所以我试过:

names(df_all) <- gsub("dfall$PROFESSION", "", names(df_all))
Run Code Online (Sandbox Code Playgroud)

但是,这不会影响任何更改。你能解释一下吗?我应该怎么做?

您的建议将不胜感激。

G5W*_*G5W 9

您可以更改名称,gsub但您还必须将它们保存回 data.frame。

colnames(dfall) = gsub("PROFESSION", "", colnames(dfall))
Run Code Online (Sandbox Code Playgroud)

你不能摆脱这个dfall$部分。这实际上并不是列名的一部分,而是dfall$PROFESSIONEngineer指定PROFESSIONEngineerdfalldata.frame的列。