2017-03-19 1 views
1

데이터 프레임이 있으며 일부 열은 'dfall $ PROFESSION'으로 시작하여 삭제하려고합니다. 즉이 : R의 데이터 프레임에있는 열 이름의 문자열을 grepl로 대체

"dfall$PROFESSIONBusinessman"    "dfall$PROFESSIONDoctor"     
[35] "dfall$PROFESSIONEngineer"    "dfall$PROFESSIONFarmer"     
[37] "dfall$PROFESSIONHousewife"    "dfall$PROFESSIONLawyer"     
[39] "dfall$PROFESSIONMissing"     "dfall$PROFESSIONPensioner" 

그래서 나는 시도 :

names(df_all) <- gsub("dfall$PROFESSION", "", names(df_all)) 

그러나,이 변화에 영향을주지 않습니다. 설명해 주시겠습니까? 대신 무엇을해야합니까?

귀하의 조언에 감사드립니다.

+0

열 이름에서 "PROFESSION"만 삭제 하시겠습니까? – G5W

+1

'gsub' (즉'gsub ("dfall $ PROFESSION", ""dfall $ PROFESSIONFarmer ", fixed = TRUE)'.... 안에'fixed = TRUE'를 추가하거나'$'를 escape 할 필요가 있습니다. 즉,'gsub ("dfall \\ $ PROFESSION", ""dfall $ PROFESSIONFarmer ")') – Sotos

답변

2

gsub으로 이름을 변경할 수 있지만 다시 data.frame에 저장해야합니다.

colnames(dfall) = gsub("PROFESSION", "", colnames(dfall)) 

dfall$ 부분을 제거 할 수 없습니다. 이는 실제로 열 이름의 일부가 아니며 dfall$PROFESSIONEngineerdfall data.frame의 PROFESSIONEngineer 열을 지정합니다.

관련 문제