Cómo calcular el coeficiente de variación en R

Actualizado por ultima vez el 8 de septiembre de 2022, por Dereck Amesquita.

Un coeficiente de variación , a menudo abreviado como CV , es una forma de medir qué tan dispersos están los valores en un conjunto de datos en relación con la media. Se calcula como:

CV = σ / μ

dónde:

  • σ: la desviación estándar del conjunto de datos
  • μ: la media del conjunto de datos

En términos sencillos, el coeficiente de variación es simplemente la relación entre la desviación estándar y la media.

Cuándo usar el coeficiente de variación

El coeficiente de variación se usa a menudo para comparar la variación entre dos conjuntos de datos diferentes.

En el mundo real, a menudo se usa en finanzas para comparar el rendimiento promedio esperado de una inversión en relación con la desviación estándar esperada de la inversión. Esto permite a los inversores comparar la relación riesgo-rendimiento entre inversiones.

Por ejemplo, suponga que un inversionista está considerando invertir en los siguientes dos fondos mutuos:

Fondo de inversión A: media = 9%, desviación estándar = 12,4%

Fondo de inversión B: media = 5%, desviación estándar = 8,2%

Al calcular el coeficiente de variación de cada fondo, el inversor encuentra:

CV para Fondo Mutuo A = 12,4% / 9% = 1,38

CV para Fondo Mutuo B = 8.2% / 5% = 1.64

Dado que el fondo mutuo A tiene un coeficiente de variación más bajo, ofrece un mejor rendimiento medio en relación con la desviación estándar.

Cómo calcular el coeficiente de variación en R

Para calcular el coeficiente de variación de un conjunto de datos en R, puede utilizar la siguiente sintaxis:

cv <- sd(datos) / media(datos) * 100

Los siguientes ejemplos muestran cómo utilizar esta sintaxis en la práctica.

Ejemplo 1: coeficiente de variación para un solo vector

El siguiente código muestra cómo calcular CV para un solo vector:

# Crear vector de datos
 datos <- c (45, 32, 22, 17, 55, 37)

# Calcular CV
 cv <- sd(datos) / mean(datos) * 100

# Ver CV
 cv

[1] 40.90

El coeficiente de variación resulta ser 40.90. Es decir, los datos se encuentran un 40.90% desviados de su media .

Ejemplo 2: coeficiente de variación para varios vectores

El siguiente código muestra cómo calcular el CV para varios vectores en un marco de datos usando la función sapply () :

# Creamos 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))

#calcular CV para cada columna en el marco de datos
 sapply (data, function (x) sd (x) / mean (x) * 100 )

A         B        C 
11.012892 8.330843 7.154009

Asegúrese de usar na.rm = T si también faltan valores en sus datos. Esto le dice a R que simplemente ignore los valores perdidos al calcular el coeficiente de variación:

#create data frame
 datos <- 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 ))

#calcular CV para cada columna en el marco de datos
 sapply (datos, function (x) sd (x, na.rm = T ) / mean (x, na.rm = T ) * 100 )

A         B        C 
11.012892 8.497612 5.860924

Recursos adicionales

Cómo calcular la desviación absoluta mediana en R
Cómo calcular la desviación estándar en R
Cómo encontrar el rango en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

I’m a Bachelor of Economics gratuaded from the National University of San Agustin. I have experience in Python, R and other languages with aplications in Finance or Econometrics, I also have knowledge of statistics and econometrics. If you need help on some issues you can write to me.

Deja un comentario

La función glm () en R se puede utilizar para ajustar modelos lineales generalizados. Esta función es particularmente útil para…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!