객체생성2에서 퀴즈1번에 대해서 질문이 있습니다.
퀴즈 1번에서 정답은 4번인 colnames(df)[c(2,4)]=c("V2", "V4") 이라고 말씀해주셨습니다만,
보기에서 1번에 있던 colnames(df[,c(2,4)]) = c("V2", "V4") 은 왜 정답이 아닌지 모르겠습니다.
보기 1번과 4번의 앞 부분만 따오면
> colnames(df)[c(2,4)]
[1] "bb" "new2"
> colnames(df[,c(2,4)])
[1] "bb" "new2"
이렇게 동일한 결과가 나오는데 이러한 결과에 =c("V2", "V4") 라는 동일한 조작을 적용했을때 왜 1번은 df의 열 이름을 바꿀수 없고 4번은 바꿀수 있는지 궁금합니다.
回答 1
1
안녕하세요 김승욱 입니다.
해당 코드의 핵심은 colnames() 함수로 데이터프레임 객체의 변수명 부분에 접근한 다음에 원하는 원소(변수명)를 지정하고 해당 원소를 신규 원소로 치환하는 것입니다.
그런데 두 번째 코드는 colnames() 함수를 사용하기 전에 df[, c(2, 4)] 로 df객체의 부분집합을 만들어버리기 때문에 온전하게 df 객체에 접근할 수 없게 됩니다. 즉, df 객체가 아닌 임시로 만든 df[, c(2, 4)] 객체의 변수명을 조정한 꼴이 되기 때문에 제대로 동작하지 않습니다.
자주 받는 질문인데 영상에서 설명이 미흡했나보네요.
추가 질문 있으시면 편하게 또 남겨주세요.
감사합니다.
ADP 자격증 대비 강의 개설 문의
0
809
2
최신 기출문제 문의
0
767
1
분포의 치우침
1
797
1
강의 자료를 받을 수 있는 방법이 있을가요?
0
708
1
R 오류
0
374
0
교재 및 수료조건
0
554
2
mac KoNLP 설치 오류
0
2005
1
교재 구입 프로세스 알려주시기를 요청드려요.
0
278
0
교재 구입 관련 메일을 송부하였습니다
0
266
1
fread() 함수
1
353
1
교재 구매
0
233
0
강의 시 문제 풀이가 수업자료에는 없어요
0
271
0
클리앙 강의 시 문의 드립니다.
0
258
0
2과목 빅데이터 분석방법론 1 왜 안보이나요?
0
298
1
R studio 오류
0
566
0
한글깨짐 오류로 수업이 어려워요
0
423
1
R studio 설치시 Warning message
1
2484
1
R 사용중 자동완성이 안됩니다 ㅠㅠ
1
385
1
R 작업폴더 경로가 이상합니다
1
591
1
파일 불러오기가 안 됩니다ㅜ
1
272
1
R 스튜디오 한글
1
619
1
시각화 문제2번에 관련해서 질문이 있습니다.
1
1044
1
2강 원소편 관련하여 질문이 있습니다!
1
297
1
R보다 Rstudio를 먼저 설치하면 안되는 이유가 있나요?
3
305
1

