결측치 정제
is.na(df) 하면 df에 들어있는 녀석들 중 골라서 boolean type으로 리턴해줌.
table(is.na(df)) — 몇개 있는지 파악.
결측지 제거
- 결측치가 있는 행만 추출 — filter()
na값이 존재하면 평균과 같은 수학계산하는데 상당한 무리가 있다. 따라서 필터링으로 먼저 없앤다.
df %>% filter(!is.na(score))
df %>% filter(!is.na(Score) & !is.na(gender))
## 이렇게 필터링 조건문을 두개 이상 넣어서 다 없애도 됌
- 결측치가 하나라도 있으면 제거 - na.omit()
소위 말하는 데이터의 na을 통으로 날리는거다.
na.omit(df) . 해버리고 수학계산하면 아주 예쁘게 계산 가능
결측치 제외
함수내부에서 제거를 해주는 것.
df %>% summarise(mean_score = mean(score,na.rm=TRUE)
결측치 대체
조건문을 활용한다.
Ifelse를 활용해서 na가 맞으면 mean을 활용해서 대체해준다. na.rm=t 같이써주고
여기서 포인트는 조건문에서 다 파생변수를 활용했다는 것.
df $ score = ifelse(is.na(df$score),mean(df$score,na.rm=TRUE),df$score)
이상치 제거
이상치는 갑자기 튀는 값이라 생각하면 편하다.
data frame에서 이상치를 검사하고 싶다고 가정할때
table(outlier $ score)
각 빈도값이 나오는데 이때 튀는 값이 존재한다면?
- 결측치로변환
- 분석에서 제외
이 단계로 이상치를 제거한다.
제거할때는 결측지 제거랑 마찬가지로 ifelse문을 활용
##1.
outlier$score = ifelse(outlier$ score>5, NA,outlier$score)
이런 느낌으로 제거해준다.
##2.
outlier %>% filter(!is.na(gender) & !is.na(score) ...
그 다음 분석에서 선 필터링으로 결측치 제거해주면끝
'R studios' 카테고리의 다른 글
R통계 : Theme #7. 시각화, 그래프 (0) | 2024.05.27 |
---|---|
R통계 : Theme #6. Tidy. (0) | 2024.05.27 |
R통계 : Theme #4. Dplyr package (0) | 2024.05.27 |
R 통계 : Theme #3 : 데이터 조작 ( 기본 함수) (1) | 2024.05.27 |
R 통계 : Theme #2. 데이터 저장 및 불러오기 (0) | 2024.05.27 |