0

我想从包含原始二进制数据的数据框中计算边际概率分布。我确信有一种简单的方法,但是我似乎找不到它的功能。有任何想法吗?我附上了一个二进制变量数据框的简单示例,其中可以将结果视为 1,而没有结果可以视为 0。

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
4

1 回答 1

1

您可以使用:

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

或者正如@moto 所说,你正在尝试(但更简单):

lapply(my.new.df[,2:6], function(x) mean(x))
于 2017-03-29T07:30:51.900 回答