2016-07-26 2 views
2

Comment calculer l'erreur-type d'une variable binaire en utilisant R? J'ai un groupe de participants effectuant une tâche dans plusieurs conditions. La sortie peut être 0 (incorrecte) ou 1 (correcte). J'ai calculé la proportion moyenne des bonnes réponses et erreur standard (SE) de la façon suivante:Erreur standard Variable binaire R

mean<-tapply(dataRsp$Accuracy, dataRsp$Condition, FUN=mean) 

SE<- with(dataRsp, tapply(Accuracy, Condition, sd)/sqrt(summary(dataRsp$Condition))) 

Mais la SE sont extremelly serrés qu'ils peuvent difficilement être correct. Peut-on me donner quelques idées? Je trouve que la prochaine pourrait être la solution,

sqrt(p.est*(1-p.est)/n) 

... mais je ne sais pas comment le mettre en œuvre à R.

Répondre

2

Supposons que la variable X il y a seulement 2 résultats (0/1) et nous supposons que la chance de succès (1) est égale à p. Cela signifie que X suit la distribution Bernoulli (p).

La moyenne et la variance sont alors données par p et p * (1-p)/n, où n est votre taille de l'échantillon maintenant changer p par p.est, où p.est est la proportion de réponses correctes.

Donc, si vous avez une variable appelée binary avec 1 est pour les succès et 0 pour les échecs:

p.est <- mean(binary) 
variance <- (p.est*(1-p.est))/nrow(binary) 
std.dev <- sqrt(variance) 

EDIT:

Vous avez également dit que vous avez trouvé très petite SE, qui étaient contre-intuitif . Examinons de plus près la formule de la variance: p * (1-p)/n. La plus grande valeur que le numérateur (p * (1-p)) peut prendre n'est que de 0,25, c'est-à-dire lorsque p = 0,5. Cette valeur ne peut que diminuer, puisque nous la divisons par n (le nombre d'observations). Supposons que nous ayons p = 0,5 et n = 100, la variance est alors seulement de 0,0025. Pour trouver le SE, nous prenons la racine carrée, ce qui donnera un SE de 0,05 dans cet exemple. Si vous avez plus d'observations, c'est-à-dire n> 100 la variance et SE diminuera encore plus (intuition: plus de données => plus de certitude => plus petite variance/SE).

Si la formule de la variance/SE est expliquée comme ceci, est-ce encore étrange que vous ayez de petites SE?

+0

Nous vous remercions de votre aide. Le mot de code bien, mais j'ai une valeur de 0,006 qui n'a aucun sens pour moi. Avec une précision moyenne, par exemple de 85%, le SE attendu devrait être beaucoup plus grand. Je ne sais pas ce que pourrait être la raison sous-jacente – user3596790

+0

Merci Marcel. C'était très clair. (p * (1-p)) = 0,13 n = 3290, la variance est très faible, et donc j'obtiens SE = 0,006. Je pensais que c'était contraituitive, mais assister à la grande n cela pourrait avoir un sens. Je vous remercie. – user3596790

+0

@ user3596790 Heureux de vous aider! Si la réponse à votre question est complète, cochez la case juste en dessous des flèches haut/bas – Marcel10