2019년 4월 24일 수요일

R: dplyr 패키지를 사용하여 사분위수 구하기

1
2
data %>%
    summarise(quantile = quantile(BMI_Z_SCORE))
cs
data라는 data.table에서 사분위수를 구하기 위해 위와 같은 코드를 실행하였다.
그 결과,

Error: Column `quantile` must be length 1(a summary value)

위와 같은 에러가 발생하였다.

이 경우 quantile() 함수로 사분위수를 한 번에 얻는 것이 아니라 quantile() 함수 한 번에 하나의 사분위수를 얻어야 한다.

1
2
3
4
5
6
data %>%
    summarise(Q0 = quantile(BMI_Z_SCORE, probs = 0.00),
              Q1 = quantile(BMI_Z_SCORE, probs = 0.25),
              Q2 = quantile(BMI_Z_SCORE, probs = 0.50),
              Q3 = quantile(BMI_Z_SCORE, probs = 0.75),
              Q4 = quantile(BMI_Z_SCORE, probs = 1.00))
cs
0사분위수는 최솟값,
2사분위수는 중위수,
4사분위수는 최댓값과 같으므로 아래와 같이 작성할 수 있다.

1
2
3
4
5
6
data %>%
    summarise(MIN = min(BMI_Z_SCORE),
              Q1 = quantile(BMI_Z_SCORE, probs = 0.25),
              MEDIAN = median(BMI_Z_SCORE),
              Q3 = quantile(BMI_Z_SCORE, probs = 0.75),
              MAX = max(BMI_Z_SCORE)
cs

댓글 없음:

댓글 쓰기