# [R] qqplot for binomial distribution

Boris Steipe boris.steipe at utoronto.ca
Tue Apr 18 16:26:40 CEST 2017

```As per the help pages, the data samples are expected in the second argument, "y".

So try
qqplot(rbinom(n=100, size=100, p=0.05), count1_vector)

... and then plot your qqline()

Alternatively, try

qqline(count1_vector,
distribution = function(probs) { qbinom(probs, size=100, prob=0.05) },
datax = TRUE, # <- logical. Should data values be on the x-axis?
col = "red",
lwd = 0.5)
... and use your original qqplot()

B.

> On Apr 18, 2017, at 12:47 AM, Ashim Kapoor <ashimkapoor at gmail.com> wrote:
>
> Dear Boris,
>
>
> > dput(count1_vector)
> c(5, 6, 4, 4, 6, 5, 4, 5, 3, 7, 5, 5, 3, 4, 8, 6, 10, 2, 4, 6,
> 8, 4, 4, 6, 8, 5, 6, 3, 7, 9, 4, 7, 5, 7, 3, 4, 5, 2, 11, 7,
> 8, 5, 5, 6, 3, 2, 3, 5, 9, 6, 5, 6, 7, 3, 10, 7, 6, 4, 9, 5,
> 7, 3, 7, 3, 2, 3, 4, 5, 10, 4, 5, 5, 6, 7, 4, 8, 7, 5, 5, 4,
> 8, 7, 9, 4, 4, 4, 7, 5, 4, 10, 4, 5, 6, 1, 3, 5, 4, 7, 4, 6)
>
> set.seed(123)
> qqplot(count1_vector,rbinom(n=100,size=100,p=.05))
> qqline(count1_vector,distribution = function(probs) { qbinom(probs, size=100, prob=0.05) },
>        col = "red",
>        lwd = 0.5)
>
> When I do this, the line does not pass through the center of my data.I do expect count1_vector to be 100 samples of binomial with n=100 and p=.05.
>
> Any comments or suggestions for me ?
>
> Note : I built a 95% Confidence interval for my data and I counted how often out of 100 times did the data fall outside the CI.This I expect to be binomial with n=100,p=.05. I repeated this a 100 times and obtained count1_vector.
>
> Best Regards,
> Ashim.
>
>
> On Mon, Apr 17, 2017 at 7:51 PM, Boris Steipe <boris.steipe at utoronto.ca> wrote:
> That's not how qqline() works. The line is drawn with respect to a _reference_distribution_ which is the normal distribution by default. For the binomial distribution, you need to specify the distribution argument. There is an example in the help page that shows you how this is done for qchisq(). for qbinom() it is:
>
>
> set.seed(123)
> qqplot(rbinom(n=100, size=100, p=0.05),
>        rbinom(n=100, size=100, p=0.05) )
>
> qqline(rbinom(n=100,size=100,p=.05),
>        distribution = function(probs) { qbinom(probs, size=100, prob=0.05) },
>        col = "red",
>        lwd = 0.5)
>
>
>
>
> B.
>
>
> > On Apr 17, 2017, at 9:15 AM, Ashim Kapoor <ashimkapoor at gmail.com> wrote:
> >
> > Dear Spencer,
> >
> > Okay. Many thanks. My next query is how do I use qqline?
> >
> > When I try
> >
> >> qqline(rbinom(n=100,size=100,p=.05))
> >
> > I don't get the line in the right place.
> >
> > Best Regards,
> > Ashim
> >
> > On Mon, Apr 17, 2017 at 6:31 PM, Spencer Graves <
> > spencer.graves at effectivedefense.org> wrote:
> >
> >>
> >>
> >> On 2017-04-17 7:58 AM, Ashim Kapoor wrote:
> >>
> >>> Dear All,
> >>>
> >>> set.seed(123)
> >>> qqplot(rbinom(n=100,size=100,p=.05), rbinom(n=100,size=100,p=.05) )
> >>>
> >>> I expect to see 1 clear line,but I don't. What am I misunderstanding?
> >>>
> >>
> >>
> >>      The distribution is discrete, and points are superimposed. Try the
> >> following:
> >>
> >>
> >> set.seed(123)
> >> qqplot(jitter(rbinom(n=100,size=100,p=.05)),
> >>       jitter(rbinom(n=100,size=100,p=.05) ))
> >>
> >>
> >>      Spencer Graves
> >>
> >>>
> >>> Best Regards,
> >>> Ashim
> >>>
> >>>        [[alternative HTML version deleted]]
> >>>
> >>> ______________________________________________
> >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>> ng-guide.html
> >>> and provide commented, minimal, self-contained, reproducible code.
> >>>
> >>
> >> ______________________________________________
> >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> >> ng-guide.html
> >> and provide commented, minimal, self-contained, reproducible code.
> >>
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help