R에서 quantile() 함수를 사용하는 방법


통계에서 분위수는 분류된 데이터 세트를 동일한 그룹으로 나누는 값입니다.

R의 Quantile() 함수는 데이터 세트의 샘플 분위수를 계산하는 데 사용할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

분위수(x, probs = seq(0, 1, 0.25), na.rm = FALSE)

금:

  • x : 벡터 이름
  • probs : 확률의 수치적 벡터
  • na.rm : NA 값을 제거할지 여부

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예 1: 벡터의 분위수 계산

다음 코드는 R에서 벡터의 분위수를 계산하는 방법을 보여줍니다.

 #define vector of data 
data = c(1, 3, 3, 4, 5, 7, 8, 9, 12, 13, 13, 15, 18, 20, 22, 23, 24, 28)

#calculate quartiles
quantile(data, probs = seq(0, 1, 1/4))

 0% 25% 50% 75% 100% 
1.0 5.5 12.5 19.5 28.0 

#calculate quintiles
quantile(data, probs = seq(0, 1, 1/5))

 0% 20% 40% 60% 80% 100% 
1.0 4.4 8.8 13.4 21.2 28.0 

#calculate deciles
quantile(data, probs = seq(0, 1, 1/10))

 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 
1.0 3.0 4.4 7.1 8.8 12.5 13.4 17.7 21.2 23.3 28.0 

#calculate random quantiles of interest
quantile(data, probs = c(.2, .5, .9))

20% 50% 90% 
4.4 12.5 23.3

예 2: 데이터 프레임에 있는 열의 분위수 계산

다음 코드는 데이터 프레임의 특정 열에 대한 분위수를 계산하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5, 7, 7, 8, 12, 14, 18),
                 var2=c(7, 7, 8, 3, 2, 6, 8, 9, 11, 11, 16),
                 var3=c(3, 3, 6, 6, 8, 4, 4, 7, 10, 10, 11))

#calculate quartiles of column 'var2'
quantile(df$var2, probs = seq(0, 1, 1/4))

  0% 25% 50% 75% 100% 
 2.0 6.5 8.0 10.0 16.0

또한 sapply() 함수를 사용하여 여러 열의 분위수를 한 번에 계산할 수도 있습니다.

 #calculate quartiles of every column
sapply(df, function (x) quantile(x, probs = seq(0, 1, 1/4)))

     var1 var2 var3
0% 1.0 2.0 3
25% 3.5 6.5 4
50% 7.0 8.0 6
75% 10.0 10.0 9
100% 18.0 16.0 11

예시 3: 그룹별 분위수 계산

다음 코드는 dplyr 패키지의 함수를 사용하여 그룹화 변수로 분위수를 계산하는 방법을 보여줍니다.

 library (dplyr)

#define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C') ,
                 points=c(1, 3, 3, 4, 5, 7, 7, 8, 12, 14, 18))

#define quantiles of interest
q = c(.25, .5, .75)

#calculate quantiles by grouping variable
df %>%
  group_by(team) %>%
  summarize(quant25 = quantile(points, probs = q[1]), 
            quant50 = quantile(points, probs = q[2]),
            quant75 = quantile(points, probs = q[3]))

# A tibble: 3 x 4
  team quant25 quant50 quant75
           
1 to 2.5 3 3.25
2 B 6.5 7 7.25
3 C 13 14 16   

추가 리소스

다음 튜토리얼에서는 Quantile() 함수를 사용하여 다른 일반적인 Quantile 값을 계산하는 방법을 보여줍니다.

R에서 백분위수를 계산하는 방법
R에서 십분위수를 계산하는 방법
R에서 사분위수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다