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
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
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 )
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).
Vous pouvez calculer la variance de population avec la fonction suivante:
pvar <- function(x) {
sum((x - mean(x))**2) / length(x)
}
où 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