inflearn logo
강의

講義

知識共有

[RをRしてください] R基礎をつくる

객체생성2에서 퀴즈1번에 대해서 질문이 있습니다.

解決済みの質問

239

seongseong4132732

投稿した質問数 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번은 바꿀수 있는지 궁금합니다.

R

回答 1

1

datadoctor

안녕하세요 김승욱 입니다.

해당 코드의 핵심은 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