2017-03-29 4 views
0

Je voudrais calculer les distributions de probabilité marginales à partir d'une base de données contenant des données binaires brutes. Je suis sûr qu'il y a un moyen facile, mais je n'arrive pas à trouver une fonction pour cela. Des idées? Je joins un exemple simple d'une trame de données de variables binaires où un résultat peut être considéré comme une seule et aucun résultat comme 0.Calcul des probabilités marginales à partir de la trame de données dans R

set.seed(1234) 
respondent <- 1:1000 
red <- sample(0:1, 1000, replace=T) 
blue <- sample(0:1, 1000, replace=T) 
green <- sample(0:1, 1000, replace=T) 
black <- sample(0:1, 1000, replace=T) 
grey <- sample(0:1, 1000, replace=T) 

my.new.df <- data.frame(respondent, red ,blue,green,black,grey) 
lapply(my.new.df[,2:6],sum) 
$red 
[1] 518 

$blue 
[1] 485 

$green 
[1] 515 

$black 
[1] 481 

$grey 
[1] 508 

Répondre

0

Vous pouvez utiliser:

colMeans(my.new.df[,2:6]) 

Ou comme @moto dit et vous essayiez (mais plus simple):

lapply(my.new.df[,2:6], function(x) mean(x))