Биномиальная гистограмма с функцией ggplot2 - PullRequest
0 голосов
/ 08 марта 2020

Предположим, у меня есть набор данных, состоящий из значений статистики c, которая теоретически следует биномиальному распределению с некоторым заданным параметром (скажем, size=30, prob=0.5). Предположим, мой набор данных представлен как r, который приведен ниже: -

 dput(r)
c(16L, 7L, 12L, 19L, 15L, 11L, 13L, 16L, 14L, 15L, 11L, 12L, 
18L, 18L, 12L, 14L, 13L, 13L, 18L, 20L, 13L, 19L, 14L, 17L, 16L, 
19L, 14L, 12L, 14L, 12L, 16L, 13L, 16L, 15L, 18L, 17L, 12L, 16L, 
15L, 14L, 16L, 11L, 13L, 12L, 14L, 17L, 17L, 18L, 15L, 18L, 15L, 
13L, 12L, 13L, 16L, 13L, 13L, 12L, 18L, 11L, 16L, 16L, 13L, 18L, 
15L, 9L, 14L, 17L, 14L, 11L, 17L, 15L, 13L, 14L, 18L, 16L, 11L, 
13L, 13L, 11L, 21L, 11L, 17L, 7L, 15L, 15L, 16L, 16L, 13L, 10L, 
12L, 17L, 13L, 14L, 12L, 19L, 12L, 12L, 14L, 16L)

Я хочу посмотреть, относятся ли эти наблюдения к биномиальному распределению с размером = 30 и вероятностью = 0,5. Я хочу сделать это с помощью гистограммы. Я попробовал следующие коды: -

x<-data.frame(obs=dbinom(0:50, 50, 0.5))
y<-data.frame(obs=r)
x$type<-'bin1'
y$type<-'bin2'
data<-rbind(x,y)
library(devtools)
library(easyGgplot2)
ggplot2.histogram(data=data, xName='obs',
                  groupName='type', legendPosition="top",
                  alpha=0.2 )

Это сюжет, который я получаю. Но я думаю, что сделал ошибку, потому что гистограмма для x должна была быть симметричной c, но она показывает только один столбец. Кто-нибудь может сказать мне, где я ошибся? enter image description here

Я пытался использовать следующие ссылки при написании кодов: - 1) http://www.sthda.com/english/wiki/ggplot2-histogram-easy-histogram-graph-with-ggplot2-r-package

2) Как построить две гистограммы вместе в R?

1 Ответ

1 голос
/ 08 марта 2020

Полагаю, вы скорее хотели использовать rbinom - так что, это было бы ближе к результату, которого вы хотите достичь?

x<-data.frame(obs=rbinom(30, 30, 0.5))
y<-data.frame(obs=r)
x$type<-'bin1'
y$type<-'bin2'
data<-rbind(x,y)

ggplot(data, aes(obs, fill = type)) + geom_histogram(position = "dodge", alpha = 0.8)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...