다음 R 코드를 실행했을 때 출력되는 결과로 옳은 것은?> m &… | [ADsP] 데이터분석 준전문가 기출유형 모의고사 4회 상세 페이지
1[ADsP] 데이터분석 준전문가 기출유형 모의고사 4회
다음 R 코드를 실행했을 때 출력되는 결과로 옳은 것은?> m <- cbind(iris$Sepal.Length[1:2], as.character(iris$Species[1:2])) > class(m[1, 1]) > df <- data.frame(n = 1:2, s = c("a", "b")) > sapply(df, class) > z <- c(TRUE, FALSE, 2L) > class(z) > l2 <- list(1, "a", TRUE) > class(l2[[3]])
1
df 의 두 열은 모두 character 이다
2
class(l2[[3]]) 는 character 이다
3
class(z) 의 결과는 integer 이다
4
class(m[1, 1]) 의 결과는 numeric 이다
해설
논리값과 정수를 c() 로 묶으면 더 넓은 형인 정수로 맞춰져 class(z) 는 integer 이다.
벡터·행렬은 한 가지 자료형만 담아 cbind 로 숫자와 문자를 묶으면 전부 문자가 되고, 데이터프레임 열과 리스트 원소는 각자 형을 유지한다.
- m[1, 1]: 문자열과 결합된 행렬이라 character 이다
- df 의 열: n 은 integer, s 는 character 로 서로 다르다
- l2[[3]]: 리스트는 원소 형을 바꾸지 않아 logical 이다
오류나 개정된 내용이 보이면 알려주세요