如何计算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中找到范围

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注