문제
R에서 다음 코드 실행 시 발생하는 결과로 올바른 것은?
Rmat <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2) mat[mat > 3] <- NA rowSums(mat, na.rm = FALSE)
① c(3, 5) ② c(NA, NA) ③ c(1, 2) ④ c(4, 6)
정답
2번
해설
matrix는 2×3 행렬로 생성되며, 열 우선으로 채워집니다. 따라서 원래 행렬은 1행: 1, 3, 5 / 2행: 2, 4, 6 입니다. 여기서 3보다 큰 값인 4, 5, 6이 NA로 치환되므로 결과는 1행: 1, 3, NA / 2행: 2, NA, NA 가 됩니다. rowSums에서 na.rm = FALSE이므로 각 행에 NA가 하나라도 포함되면 해당 행의 합은 NA가 됩니다. 따라서 결과는 c(NA, NA)입니다.