2014-10-02 62 views
0

我在https://stats.stackexchange.com/questions/117578/density-distribution-of-outcomes-of-2-dice-rolled上发布了以下问题,但没有得到任何答复。2个骰子结果的不对称密度图滚动

这个问题是涉及到:A histogram with a bar for each frequency value

两个骰子旋转和和绘制。直方图如预期的那样,但密度图显示不同的密度2和12,并且图是不对称的。这是为什么? 在2个掷骰子的结果中,2的概率等于12的概率。为什么密度图的值不等?

num.dices <- 2L 
num.rolls <- 100000L 
outcomes <- matrix(sample(1:6, num.dices * num.rolls, replace = TRUE), 
        nrow = num.rolls, ncol = num.dices) 
sums <- rowSums(outcomes) 

柱状图:

ggplot(data.frame(sums), aes(x=factor(sums)))+geom_histogram() 

enter image description here

密度图:

ggplot(data.frame(sums), aes(x=factor(sums), fill=factor(sums)))+geom_density() 

enter image description here

我也试过:

ggplot(data.frame(总和),AES(X =因子(总和),填充因子=(和)))+ geom_density(AES(Y = ..count ..))

enter image description here

+0

它看起来像在密度内核的带宽问题。但是,当分布是离散的时候,为什么要首先使用density()? – 2014-10-02 08:36:54

+0

我们是不是应该得到与图12相同的对称图?我们如何确认和纠正带宽问题? – rnso 2014-10-02 08:41:45

+0

我们应该,但在我看来,总带宽在增加。不知道如何在ggplot()中对它进行调整,但我认为它也不合理,你可能在ggplot()中寻找类似于'plot(density(sums))'的东西。你应该能够以某种方式对它进行评估。 – 2014-10-02 09:55:53

回答

0

在我看来,你正在用11个diff进行11种不同的内核估计。 bandwitdths,而不是做:

ggplot(data.frame(sums), aes(x=sums, fill=2))+geom_density() 

,或者如果你坚持用额外的参数来做到这一点,你可以添加组= 1:

ggplot(data.frame(sums), aes(x=sums, fill=factor(sums)))+geom_density(aes(group=1))