Comportement étrange pour var ?

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Christophe Genolini
Messages : 698
Enregistré le : 12 Juin 2006, 21:37
Contact :

Comportement étrange pour var ?

Messagepar Christophe Genolini » 04 Nov 2009, 08:19

Bonjour,

Les bras m'en sont tombés :

Code : Tout sélectionner

a <- as.factor(c("H","S","S","H","S"))
var(a)
[1] 0.3


R calcule la variance d'une variable nominale...
Une raison a cela ? Ou bien faut-il ajouter cela à la liste des bizarreries R-iennes?

Christophe

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 04 Nov 2009, 11:43

Tu peux récupérer tes bras :) :

Code : Tout sélectionner

>contrasts(a)
  S
H 0
S 1


Et si on fait :

Code : Tout sélectionner

> var(c(1,0,0,1,0))
[1] 0.3


R calcule la variance de l'indicatrice.

C'est peut être encore discutable sur le fond...

Samir Messad
Messages : 76
Enregistré le : 10 Jan 2005, 20:56

Messagepar Samir Messad » 05 Nov 2009, 16:22

ou bien la fonction var force la variable en numerique :

Code : Tout sélectionner

a <- as.factor(c("H","S","S","H","S"))
var(as.numeric(a))
0.3


ce qui peut se discuter aussi...

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Messagepar jean lobry » 05 Nov 2009, 20:34

Bonjour,

Ici, la documentation de R (2.10) ne me semble pas très "clean". Si nous voulons la changer c'est sur R-Dev qu'il faut en discuter (avec arguments à l'appui, of course).

Amicalement,

Jean

Matthieu Stigler
Messages : 141
Enregistré le : 07 Sep 2007, 11:30

Messagepar Matthieu Stigler » 17 Nov 2009, 14:48

Le plus troublant c'est que si var(factor) donne un résultat numérique, cov(factor, factor) n'en donne pas...

Code : Tout sélectionner

a <- as.factor(c("H","S","S","H","S"))
b <- as.factor(c("S","S","S","H","S"))
var(a)
var(b)

cov(a,b)
cov(as.numeric(a), as.numeric(b))


S'agit-t-il d'une incohérence de R? Ou peut-on argumenter que cela fait sens de calculer la variance d'une variable qualitative mais pas la covariance?

J'ai en effet entendu parler de corrélation poliychorique (voir pkg polychor) pour des variables qualitatives?


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité