Rの変動係数の計算方法
変動係数 は、 CVと略されることが多く、平均に対するデータセット内の値の広がりを測定する方法です。次のように計算されます。
CV = σ / μ
金:
- σ:データセットの標準偏差
- μ:データセットの平均
簡単に言うと、変動係数は平均値に対する標準偏差の比率です。
変動係数を使用する場合
変動係数は、2 つの異なるデータセット間の変動を比較するためによく使用されます。
現実の世界では、投資の平均期待収益と投資の期待標準偏差を比較するために金融でよく使用されます。これにより、投資家は投資間のリスクとリターンのトレードオフを比較できます。
たとえば、投資家が次の 2 つの投資信託への投資を検討しているとします。
投資信託 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