반응형
> ex <- c(1, 3, 5, 7, NA, 12)
> ex[ex < 10]
[1] 1 3 5 7 NA
> ex[ex %% 2 == 0]
[1] NA 12
ex 벡터에 미싱넘버를 추가하면 값을 추출할 때 항상 딸려나온다.
미싱 넘버는 말 그대로 무슨 값인지 모르는 값이다. 결측치다.
10보다 작은 수를 추출할 때 미싱넘버가 10보다 작을지 아닐지 모르니까 일단 추출할 때 포함시킨다.
짝수를 추출할 때 미싱넘버가 짝수일지 아닐지 모르니까 일단 추출할 때 포함시킨다.
때문에 미싱넘버가 섞인 벡터에서 미싱넘버를 제외하고 데이터를 추출하고 싶다면 이런 조건을 붙여야 한다.
> ex[ex %% 2 == 0 & !is.na(ex)]
[1] 12
이렇게 미싱넘버를 제하고 추출하도록 하면 정상적으로 짝수만 출력된다.
이번엔 벡터에 미싱넘버가 아니라 널 값을 줘보자
> ex1 <- c(1, 3, 7, NULL, 12)
> mean(ex1)
[1] 5.75
> mean(ex1, na.rm = T)
[1] 5.75
> ex1[ex1 %% 2 ==0]
[1] 12
> ex1[ex1 %% 2 ==0 & !is.null(ex1)]
[1] 12
> length(ex1)
[1] 4
null 값은 결측치, 무슨 값인지 모르는 값이 아니라 값이 존재하지 않는다는 뜻이다.
때문에 평균값을 구하는 mean을 널 값을 제거하고 시행해도, 그냥 시행해도 값이 똑같고.
짝수를 구할 때도 NA와 다르게 Null은 출력되지 않고.
벡터의 길이를 출력할 때는 아예 널 값이 제외된 길이가 출력된다.
반응형
'프로그래밍 > R' 카테고리의 다른 글
mac m1 KoNLP 패키지 설치 과정 (0) | 2023.10.03 |
---|---|
ADsP 한 권으로 끝내기 139P - matrix 응용문제 (0) | 2023.07.27 |
R의 반복문(repeat, while, for) (0) | 2023.03.16 |
data frame에서 조건에 맞는 행, 열을 출력할 때 유의해야할 점 (0) | 2023.03.16 |