R에서 기술 통계를 계산하는 방법(예제 포함)
기술 통계는 데이터 집합을 설명하는 값입니다.
이는 데이터 세트의 중심이 어디에 있는지, 데이터 세트 내 값의 분포를 이해하는 데 도움이 됩니다.
R에는 기술 통계를 계산하는 데 사용할 수 있는 두 가지 함수가 있습니다.
방법 1: summary() 함수 사용
summary(my_data)
summary() 함수는 R의 데이터 프레임에 있는 각 변수에 대해 다음 값을 계산합니다.
- 최저한의
- 1사분위수
- 중앙값
- 평균
- 3분위수
- 최고
방법 2: sapply() 함수 사용
sapply(my_data, sd, na. rm = TRUE )
sapply() 함수는 데이터 프레임의 각 변수에 대해 summary() 함수로 계산한 것 이외의 기술 통계를 계산하는 데 사용할 수 있습니다.
예를 들어, 위의 sapply() 함수는 데이터 프레임에 있는 각 변수의 표준 편차를 계산합니다.
다음 예에서는 이 두 함수를 사용하여 R의 데이터 프레임에 있는 변수에 대한 기술 통계를 계산하는 방법을 보여줍니다.
예: R에서 기술 통계 계산
R에 세 개의 변수를 포함하는 다음 데이터 프레임이 있다고 가정합니다.
#create data frame df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12), y=c(2, 2, 3, 3, 4, 5, 11, 11), z=c(8, 9, 9, 9, 10, 13, 15, 17)) #view data frame df X Y Z 1 1 2 8 2 4 2 9 3 4 3 9 4 5 3 9 5 6 4 10 6 7 5 13 7 10 11 15 8 12 11 17
summary() 함수를 사용하여 각 변수에 대한 다양한 기술 통계를 계산할 수 있습니다.
#calculate descriptive statistics for each variable
summary(df)
xyz Min. : 1,000 Min. : 2,000 Min. : 8.00
1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00
Median: 5,500 Median: 3,500 Median: 9.50
Mean: 6.125 Mean: 5.125 Mean: 11.25
3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50
Max. :12,000 Max. :11,000 Max. :17.00
또한 괄호를 사용하여 데이터 프레임의 특정 변수에 대한 기술 통계만 계산할 수도 있습니다.
#calculate descriptive statistics for 'x' and 'z' only summary(df[, c(' x ', ' z ')]) xz Min. : 1,000 Min. : 8.00 1st Qu.: 4.000 1st Qu.: 9.00 Median: 5.500 Median: 9.50 Mean: 6.125 Mean: 11.25 3rd Qu.: 7.750 3rd Qu.: 13.50 Max. :12,000 Max. :17.00
또한 sapply() 함수를 사용하여 각 변수에 대한 특정 기술 통계를 계산할 수도 있습니다.
예를 들어, 다음 코드는 각 변수의 표준 편차를 계산하는 방법을 보여줍니다.
#calculate standard deviation for each variable sapply(df, sd, na. rm = TRUE ) X Y Z 3.522884 3.758324 3.327376
기술 통계를 계산하기 위해 sapply( )의 function()을 사용할 수도 있습니다.
예를 들어, 다음 코드는 각 변수의 범위를 계산하는 방법을 보여줍니다.
#calculate range for each variable sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE )) X Y Z 11 9 9
마지막으로 기술 통계를 계산하는 복잡한 함수를 만든 다음 이 함수를 sapply() 함수와 함께 사용할 수 있습니다.
예를 들어, 다음 코드는 데이터 프레임에서 각 변수의 모드를 계산하는 방법을 보여줍니다.
#define function that calculates mode find_mode <- function (x) { u <- unique(x) tab <- tabulate(match(x, u)) u[tab == max(tab)] } #calculate mode for each variable sapply(df, find_mode) $x [1] 4 $y [1] 2 3 11 $z [1] 9
결과에서 우리는 다음을 볼 수 있습니다:
- 변수 x 의 최빈값은 4 입니다.
- y 변수의 모드는 2 , 3 , 11 입니다(각 값이 가장 자주 나타나기 때문입니다).
- 변수 z의 최빈값은 9 입니다.
summary() 및 sapply() 함수를 사용하여 데이터 프레임의 각 변수에 대해 원하는 기술 통계를 계산할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.