2014-10-02 2 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 равны шансам 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 (суммы), АЕС (х = коэффициент (суммы), заполняют = коэффициент (сумм))) + (geom_density AES (у = ..count ..))

enter image description here

+0

Похоже, проблема пропускной способности в ядре плотности. Но почему вы хотите использовать плотность() в первую очередь, когда распределение является дискретным? –

+0

Должны ли мы не получить симметричный граф с графиками для 2 таких же, как у 12? Как мы можем подтвердить и устранить проблему с полосой пропускания? – rnso

+0

мы должны, но мне кажется, что ширина полосы увеличивается в сумме. Не знаю, как настроить его в ggplot(), но я не думаю, что это тоже имеет смысл. Вероятно, вы ищете что-то вроде: «plot (плотность (суммы))' в ggplot(). Вы должны уметь это как-то. –

ответ

0

Мне кажется, что вы делаете 11 различных оценок ядра с 11 diff. 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)) 
Смежные вопросы