Nous sommes le Ven 18 Juil, 2025 17:58
Supprimer les cookies

R-cran Comment obtenir la variance?

Sur le logiciel libre en général ou un logiciel libre en particulier

Sam 19 Jan, 2008 10:57

bonjour

J'utilise R-cran (au niveau lycée) et Je sais qu'il y a des experts de R-cran sur ce forum alors je pose ma question ici.
Comment obtenir la variance d'une série statistique avec R-cran?

> a=c(1,1,1,5)
> mean(a)
[1] 2
> var(a)
[1] 4
> sum(a^2)/length(a)-mean(a)^2
[1] 3
> mean( (a-mean(a))^2)
[1] 3

J'obtiens visiblement avec var(a) une variance corrigée (de mémoire il y a un facteur (n-1)/n avec la vraie variance qui utilise la formule moyenne[ (xi-m)^2] )

impossible de trouver en regardant la doc et impossible de m'inscrire sur un forum spécialisé avec r-cran!!!!!!!

Question bis: Comment on obtient directement l'écart type?
Merci par avance
i love vim
limax

Avatar de l’utilisateur
Messages : 474
Géo : grenoble

Sam 19 Jan, 2008 12:19

Tu peux trouver dans l'aide de la fonction variance :

Code: Tout sélectionner
?var


The denominator n - 1 is used which gives an unbiased estimator of
the (co)variance for i.i.d. observations.


La variance donnée par R est donc la variance non-biaisée avec dénominateur n-1 (estimation de la variance sur la base d'un échantillon). Le dénominateur n ne devrait être utilisé que pour le calcul d'une vraie variance sur tous les individus de la population (donc variance non estimée).

Pour reprendre ton exemple :

Code: Tout sélectionner
a <- c(1, 1, 1, 5)
var(a)
1/length(a)*sum((a - mean(a))^2)
1/(length(a)-1)*sum((a - mean(a))^2)


La dernière ligne te donnée la variance non-biaisée telle que calculée par R.

Quelques ressources pour R :
- sous R, quand tu veux faire une recherche :
Code: Tout sélectionner
apropos("truc")

cherche toutes les fonctions qui contiennent "truc"
Code: Tout sélectionner
help("mots clés")

cherche dans l'aide interne de R les mots-clés
Code: Tout sélectionner
RSiteSearch("mots clés")

cherche sur cette page les mots clés et renvoie le résultat dans une page web

- la R-list : https://stat.ethz.ch/mailman/listinfo/r-help mais ne t'avise pas de poser trop de questions de grand débutant là-bas, ils sont parfois très susceptibles :D (la liste est de très haut niveau, il y a une cinquantaine de messages par jour et de grands experts y participent)
- R pour les débutants, d'Emanuel Paradis, très bon guide pour démarrer
- peut-être les Enseignements de statistiques en Biologie (découverte de R, modèle linéaire, analyses multivariées), en français.
- http://www.rseek.org/ : un super moteur de recherche qui va chercher dans les archives de la liste R, dans les aides de R, dans les tutos R, etc.
Veni, Vidi, Libri - Diffuseurs de Licences Libres
http://venividilibri.org
Maps

Avatar de l’utilisateur
Messages : 1691
Géo : Québec

Sam 19 Jan, 2008 13:36

merci pour ton aide.

Maps a écrit:La variance donnée par R est donc la variance non-biaisée avec dénominateur n-1 (estimation de la variance sur la base d'un échantillon). Le dénominateur n ne devrait être utilisé que pour le calcul d'une vraie variance sur tous les individus de la population (donc variance non estimée).
C'est effectivement ce que je cherche. Je veux la vraie variance pas une estimation.

Je n'ai pas encore trouvé mais je vais faire une fonction dans un premier temps pour me donner la variance (non estimé).

Je ne connaissais pas apropos() alors merci encore Maps
i love vim
limax

Avatar de l’utilisateur
Messages : 474
Géo : grenoble

Sam 19 Jan, 2008 15:09

limax a écrit:C'est effectivement ce que je cherche. Je veux la vraie variance pas une estimation.

Tu dois avoir de bonnes raisons pour cela. Et c'est finalement assez simple.
Reprennons encore ton exemple :


Code: Tout sélectionner
a <- c(1, 1, 1, 5)
var(a)
1/(length(a)-1)*sum((a - mean(a))^2)
var(a)*(length(a)-1)/length(a)
1/length(a)*sum((a - mean(a))^2)


Les 2 premières lignes sont équivalentes (variance non-biaisée), les 2 suivantes également (variance de la population entière non estimée).
Veni, Vidi, Libri - Diffuseurs de Licences Libres
http://venividilibri.org
Maps

Avatar de l’utilisateur
Messages : 1691
Géo : Québec

Sam 19 Jan, 2008 16:53

oui j'ai effectivement une bonne raison Noter mes élèves de 1°S.
La variance est au programme de 1° et j'aimerai bien dominer un peu R-cran pour faire des activités dans le cadre des tices.

Pour mon problème j'ai fait une fonction avec var(a)*(length(a)-1)/length(a)

Je rajoute comme lien pour R que j'aime bien : Introduction_a_R.pdf

Merci encore
i love vim
limax

Avatar de l’utilisateur
Messages : 474
Géo : grenoble

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit