R의 변동 계수를 계산하는 방법


종종 CV 로 축약되는 변동 계수는 평균을 기준으로 데이터 세트의 값 확산을 측정하는 방법입니다. 다음과 같이 계산됩니다.

CV = σ / μ

금:

  • σ: 데이터세트의 표준편차
  • μ: 데이터 세트의 평균

간단히 말하면, 변동계수는 단순히 평균에 대한 표준편차의 비율입니다.

변동계수를 사용해야 하는 경우

변동 계수는 서로 다른 두 데이터 세트 간의 변동을 비교하는 데 종종 사용됩니다.

실제 세계에서는 투자의 평균 기대 수익률과 투자의 예상 표준 편차를 비교하기 위해 금융 분야에서 자주 사용됩니다. 이를 통해 투자자는 투자 간 위험-수익 균형을 비교할 수 있습니다.

예를 들어, 투자자가 다음 두 가지 뮤추얼 펀드에 투자하는 것을 고려하고 있다고 가정해 보겠습니다.

뮤추얼 펀드 A: 평균 = 9%, 표준편차 = 12.4%

UCITS B: 평균 = 5%, 표준편차 = 8.2%

각 펀드의 변동계수를 계산함으로써 투자자는 다음 사항에 주목합니다.

뮤추얼 펀드 A의 CV = 12.4% /9% = 1.38

뮤추얼 펀드 B의 CV = 8.2% / 5% = 1.64

뮤추얼 펀드 A는 변동 계수가 낮기 때문에 표준 편차에 비해 더 나은 평균 수익률을 제공합니다.

R의 변동 계수를 계산하는 방법

R에서 데이터 세트의 변동 계수를 계산하려면 다음 구문을 사용할 수 있습니다.

 cv <- sd(data) / mean(data) * 100

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

예 1: 단일 벡터의 변동 계수

다음 코드는 단일 벡터에 대한 CV를 계산하는 방법을 보여줍니다.

 #create vector of data
data <- c(88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82)

#calculate CV
cv <- sd(data) / mean(data) * 100

#display CV
resume

[1] 9.234518

변동계수는 9.23 으로 나타났습니다.

예 2: 여러 벡터의 변동 계수

다음 코드는 sapply() 함수를 사용하여 데이터 프레임에 있는 여러 벡터의 CV를 계산하는 방법을 보여줍니다.

 #create data frame
data <- data.frame(a=c(88, 85, 82, 97, 67, 77, 74, 86, 81, 95),
                   b=c(77, 88, 85, 76, 81, 82, 88, 91, 92, 99),
                   c=c(67, 68, 68, 74, 74, 76, 76, 77, 78, 84))

#calculate CV for each column in data frame
sapply(data, function (x) sd(x) / mean(x) * 100 )

        ABC
11.012892 8.330843 7.154009

데이터에 값도 누락된 경우 na.rm=T를 사용해야 합니다. 이는 R이 변동 계수를 계산할 때 누락된 값을 무시하도록 지시합니다.

 #create data frame
data <- data.frame(a=c(88, 85, 82, 97, 67, 77, 74, 86, 81, 95),
                   b=c(77, 88, 85, 76, 81, 82, 88, 91, NA , 99),
                   c=c(67, 68, 68, 74, 74, 76, 76, 77, 78, NA ))

#calculate CV for each column in data frame
sapply(data, function (x) sd(x, na.rm= T ) / mean(x, na.rm= T ) * 100 )

        ABC
11.012892 8.497612 5.860924

추가 리소스

R에서 절대 중앙값 편차를 계산하는 방법
R에서 표준편차를 계산하는 방법
R에서 범위를 찾는 방법

의견을 추가하다

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