R에서 십분위수를 계산하는 방법(예제 포함)
통계에서 십분위수는 데이터 세트를 동일한 빈도의 10개 그룹으로 나누는 숫자입니다.
첫 번째 십분위수는 전체 데이터 값의 10%가 아래로 떨어지는 지점이다. 두 번째 십분위수는 전체 데이터 값의 20%가 아래로 떨어지는 지점 등입니다.
다음 구문을 사용하여 R에서 데이터 세트의 십분위수를 계산할 수 있습니다.
quantile(data, probs = seq (.1, .9, by = .1 ))
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예: R에서 십분위수 계산
다음 코드는 20개의 값으로 가짜 데이터세트를 생성한 후 데이터세트의 십분위수 값을 계산하는 방법을 보여줍니다.
#create dataset data <- c(56, 58, 64, 67, 68, 73, 78, 83, 84, 88, 89, 90, 91, 92, 93, 93, 94, 95, 97, 99) #calculate deciles of dataset quantile(data, probs = seq (.1, .9, by = .1 )) 10% 20% 30% 40% 50% 60% 70% 80% 90% 63.4 67.8 76.5 83.6 88.5 90.4 92.3 93.2 95.2
십분위수를 해석하는 방법은 다음과 같습니다.
- 모든 데이터 값의 10%가 63.4 보다 작습니다.
- 모든 데이터 값의 20%가 67.8 보다 작습니다.
- 모든 데이터 값의 30%가 76.5 보다 작습니다.
- 모든 데이터 값의 40%가 83.6 보다 작습니다.
- 모든 데이터 값의 50%가 88.5 보다 작습니다.
- 모든 데이터 값의 60%가 90.4 미만입니다.
- 모든 데이터 값의 70%가 92.3 보다 작습니다.
- 모든 데이터 값의 80%가 93.2 보다 작습니다.
- 모든 데이터 값의 90%가 95.2 보다 작습니다.
50번째 백분위수의 값은 데이터세트의 중앙값과 동일하다는 점에 유의해야 합니다.
예: R의 십분위수에 값 배치
각 데이터 값을 십분위수에 배치하려면 R의 dplyr 패키지에 있는 ntile(x, ngroups) 함수를 사용할 수 있습니다.
이전 예에서 생성한 데이터세트에 이 함수를 사용하는 방법은 다음과 같습니다.
library (dplyr) #create dataset data <- data.frame(values=c(56, 58, 64, 67, 68, 73, 78, 83, 84, 88, 89, 90, 91, 92, 93, 93, 94, 95, 97, 99)) #place each value into a decile data$decile <- ntile(data, 10) #viewdata data values decile 1 56 1 2 58 1 3 64 2 4 67 2 5 68 3 6 73 3 7 78 4 8 83 4 9 84 5 10 88 5 11 89 6 12 90 6 13 91 7 14 92 7 15 93 8 16 93 8 17 94 9 18 95 9 19 97 10 20 99 10
결과를 해석하는 방법은 다음과 같습니다.
- 데이터 값 56은 0%와 10% 백분위수 사이에 있으므로 첫 번째 십분위수에 속합니다.
- 데이터 값 58은 0%와 10% 백분위수 사이에 있으므로 첫 번째 십분위수에 속합니다.
- 데이터 값 64는 10%와 20% 백분위수 사이에 있으므로 두 번째 십분위수에 속합니다.
- 데이터 값 67은 10%와 20% 백분위수 사이에 있으므로 두 번째 십분위수에 속합니다.
- 데이터 값 68은 20%와 30% 백분위수 사이에 있으므로 세 번째 십분위수에 속합니다.
등등.