다음 R 코드와 실행 결과에 대한 설명으로 옳은 것은?> m &l… | [ADsP] 데이터분석 준전문가 기출유형 모의고사 2회 상세 페이지
1[ADsP] 데이터분석 준전문가 기출유형 모의고사 2회
다음 R 코드와 실행 결과에 대한 설명으로 옳은 것은?> m <- matrix(1:6, nrow = 2) > a <- apply(m, 1, sum) > l <- lapply(1:3, function(i) i^2) > s <- sapply(1:3, function(i) c(i, i^2)) > a > class(l) > s[1] 9 12 [1] "list" [,1] [,2] [,3] [1,] 1 2 3 [2,] 1 4 9
1
s 는 길이 6인 리스트이다
2
l 은 숫자형 벡터로 반환된다
3
a 는 길이 3인 벡터이다
4
s 는 2행 3열 행렬로 반환된다
해설
sapply 는 각 결과가 길이 2로 같으면 이를 열로 묶어 행렬로 단순화하므로 s 는 2행 3열 행렬이다.
출력의 a 줄은 9 12(행 합 2개), class(l) 줄은 "list", s 는 [1,] 1 2 3 / [2,] 1 4 9 로 읽힌다.
- apply 의 MARGIN=1 은 행 방향이라 a 의 길이는 행 수와 같은 2이다.
- lapply 는 항상 리스트를 반환한다.
- sapply 는 단순화할 수 있으면 리스트로 두지 않는다.
오류나 개정된 내용이 보이면 알려주세요