web-dev-qa-db-fra.com

Variance de la population en r

Comment puis-je calculer la variance de la population de mes données en utilisant R?

J'ai lu qu'il y a un paquet appelé popvar mais j'ai la version 0.99.892 et je ne trouve pas le paquet

11
YazminRios

La fonction var() de la base R calcule la variance de l'échantillon et la variance de la population diffère avec la variance de l'échantillon d'un facteur de n / n - 1. Donc, une alternative pour calculer la variance de la population sera var(myVector) * (n - 1) / n où n est la longueur du vecteur, voici un exemple:

x <- 1:10
var(x) * 9 /10
[1] 8.25

De la définition de la variance de population:

sum((x - mean(x))^2) / 10
[1] 8.25 
19
Psidom

Vous avez déjà une excellente réponse, mais je voudrais montrer que vous pouvez facilement créer vos propres fonctions pratiques. Il est surprenant qu'une fonction de variance de population/déviation standard ne soit pas disponible dans la variable de base R. Il est disponible dans Excel/Calc et d’autres logiciels. Il ne serait pas difficile d'avoir une telle fonction. Il pourrait être nommé sdp ou sd.p ou être appelé avec sd(x, pop = TRUE)

Voici une version de base de la variance de population sans vérification de type:

  x <- 1:10
  varp <- function(x) mean((x-mean(x))^2)
  varp(x)
  ## [1] 8.25

Pour augmenter la vitesse, si la vitesse pose problème, colSums et/ou colMeans peuvent être utilisés (voir: https://rdrr.io/r/base/colSums.html

2
PatrickT

Vous pouvez trouver les détails du paquet popvar ici: https://cran.r-project.org/web/packages/PopVar/index.html - Vous pouvez l'installer en utilisant la commande install.packages("PopVar"); Notez que le nom est case sensible (capital P, capital V).

1
Mekki MacAulay

Vous pouvez calculer la variance de population avec la fonction suivante:

pvar <- function(x) {
  sum((x - mean(x))**2) / length(x)
}

x est un vecteur numérique qui conserve les données de votre population. Par exemple:

> x <- c(1, 3, 5, 7, 14)
> pvar(x)
[1] 20
0
tzabal