범위(range) 확인하기
항상 바로 분석에 들어가지 말고, 데이타값을 확인해보자. 먼저, 각 변인의 범위가 예상된 범위 내에 있는지 확인하여야 한다. 예를 들면, 100점 만점인 시험 점수에 대한 변인이 있다고 해보자. 만약 범위가 0~10으로 나타난 경우, 심각하게 어려운 시험이 아닌 이상 뭔가 잘못되었음을 알 수 있다. 혹은 설문조사를 통해 7점 척도로 측정한 변인이 있다고 해보자. 만약 이 번인의 범위가 1~8로 나타났다면 그 8은 있어서는 안되는 값이므로 뭔가 잘못되어있음을 알 수 있다.
일반적으로 다음의 경우에 이러한 오류가 발생한다.
- 데이타가 R에서 읽히는 동안 오류가 발생한 경우
- 데이타 입력에 실수가 있는 경우
- 연구 참여자가 조사항목에 대답할 때 잘못 입력한 경우
범위를 확인하기위해서는 여러 코드를 사용할 수 있지만, 우리는 먼저 summary(data) 코드를 사용할 예정이다. 이 코드를 사용하면 해당 데이터셋의 모든 numeric, integer 변인에 대해 평균, 중앙값, 최소값, 최대값, 4분위수를 제공해준다. 범위는 당연히 최소값~최대값이 될 것이다.
우리가 가지고 있는 예시 데이타를 계속 사용한다.
summary(child_data)
위 코드를 입력후 실행시키면 다음과 같은 결과가 나온다. 성별이 1과 2 로 남자, 여자가 잘 나타나 있고, 여기서 학업성취도는 교과 성취도의 주관적 평가로 측정되어 1 (매우 못함)~6(잘 모르겠음)점 척도로 측정되었으니 범위에 문제가 없다고 볼 수 있다. 자존감과 친구관계 역시 4점척도로 측정되어 문제가 없음을 볼 수 있다.
NA's로 표시된건 결측치의 수를 표시한 것이다. selfesteem1에 NA가 1로 표시되었는데 이는 selfesteem1 변인 내에 하나의 결측치가 있음을 의미한다.
*하나의 변인에 대한 summary 결과를 보고싶다면 summary(data$variable) 코드를 사용할 수 있다.
이 외에 min, max, range 코드를 사용하여 각각 최소값, 최대값, 범위를 구할 수 있다. 아래 코드에서 na.rm=TRUE은 결측치를 무시하고 계산하라는 명령어이다. 이 na.rm 코드를 빼먹으면 결측치가 있는 변인은 오류 메세지가 뜨고 아무런 값이 나오지 않는다.
- min(data$variable, na.rm=TRUE)
- max(data$variable, na.rm=TRUE)
- range(data$variable, na.rm=TRUE)
다음 예시를 보면, child_data에서 selfesteem1변인의 최소값, 최대값, 범위가 구해진 것을 볼 수 있다.
우리의 예시는 범위에 아무런 문제가 없음을 확인했다. 그런데 만약 내가 가진 데이터에서 적정한 범위값에 벗어나는 값이 존재한다면 어떻게 할까? 7점척도로 측정한 항목에서 8점을 발견한다면...? 내가 들은 통계수업의 교수님은 그 값을 삭제하는 것을 추천했다. 즉 결측치처럼 만드는 것이다. 하지만, 이렇게 적정한 범위값에서 벗어나는 값에 패턴이 존재하거나 그러한 값이 여러개라면 더 깊게 생각해보는 것이 좋다고 하였다. 예를 들면, 한 참여자만 그렇게 적정 범위값에 벗어나는 값이 많다면, 그 참여자가 조사 참여를 대충대충 했음을 암시하는 것일 수 있다. 혹은 부적정한 값이 한 연구조원이 입력한 데이터에서만 많이 나타났다면, 그 연구조원이 입력한 데이터를 한번 더 살펴보는 것이 필요하다.
'Study > 통계 공부 + R' 카테고리의 다른 글
기초통계. 이변량통계3: 단순 선형 회귀 분석 (0) | 2020.12.05 |
---|---|
R기초: 데이타 클리닝 (문자값 수정하기) (0) | 2020.12.04 |
R 기초: 데이타 클리닝(변인 이름 변경, 변인 척도 변경) (0) | 2020.12.04 |
기초통계. 이변량 통계2: 변인 유형에 따른 상관 분석 (0) | 2020.12.04 |
R 기초: 데이타 구조, 데이타 클리닝(하위데이타 선택하기, 제거하기) (0) | 2020.12.04 |
댓글