如何计算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