다음은 mtcars 의 기통 수(cyl)별 차량 수를 참조표와 결합한 … | [ADsP] 데이터분석 준전문가 기출유형 모의고사 5회 상세 페이지
1[ADsP] 데이터분석 준전문가 기출유형 모의고사 5회
다음은 mtcars 의 기통 수(cyl)별 차량 수를 참조표와 결합한 R 코드와 출력이다. 출력에 대한 해석으로 옳은 것은?> cnt <- aggregate(mpg ~ cyl, data = mtcars, FUN = length) > names(cnt)[2] <- "n" > ref <- data.frame(cyl = c(4, 6, 10), type = c("small", "mid", "huge")) > m1 <- merge(cnt, ref) > m2 <- merge(cnt, ref, all.x = TRUE) > m1 > m2cyl n type 1 4 11 small 2 6 7 mid cyl n type 1 4 11 small 2 6 7 mid 3 8 14 <NA>
1
m1 은 INNER JOIN 과 같아 2행이다
2
m2 에는 cyl 10 행이 포함된다
3
m2 의 cyl 8 행 type 은 huge 이다
4
m2 는 RIGHT JOIN 과 같은 결과이다
해설
merge 의 기본값은 양쪽에 모두 있는 키만 남기는 내부 결합(INNER JOIN)이라 m1 에는 cyl 4·6 두 행만 남는다.
all.x = TRUE 는 SQL 의 LEFT JOIN 에 해당해 왼쪽 cnt 의 행을 모두 남기고, 짝이 없는 type 은 NA 로 채운다.
- RIGHT JOIN: 오른쪽 ref 를 모두 남기는 결합은 all.y = TRUE 이다
- cyl 8 행: ref 에 짝이 없어 type 이 NA 로 출력된다
- cyl 10 행: 왼쪽 cnt 에 없는 키라 m2 에 들어가지 않는다
오류나 개정된 내용이 보이면 알려주세요