[R] Please help!
David Winsemius
dwinsemius at comcast.net
Mon Dec 3 01:13:14 CET 2007
jimbib webber <alfieim21 at hotmail.co.uk> wrote in
news:BLU108-W44A9C8E34EC3B26B0D73C1F2730 at phx.gbl:
> Each number in the below list resides in a quantile. When put in
> order, there are 10 numbers, so the first is in the 0.1 quantile, the
> second in the 0.2 etc.
>
> Lets say we have 10 examples of systolic blood pressure from 30 year
> olds:
> 104,95,106,105,110,150,101,98,85,104
> What I want to do is in R, calculate the corresponding quantiles from
> So, using the same mean and variance as the above random sample,
> create a normal distribution. From this normal distribution, I want to
> calculate 10 corresponding quantiles.
>
> Then, I want to plot a qqplot of both data sets to see the
> distribution.
>
> One person told me to do this:
>
> qnorm(c(0.25,0.5,0.75),mean=mean(x),sd=sd(x))
>
> Output:
> [1] 3.76997 5.50000 7.23003
>
> ...But this does not give me 10 corresponding quantiles?
>
> Another person told me to do this:
>
>> > > x=c(104,95,106,105,110,150,101,98,85,104)
>
>> > > n=length(x)
>
>> > > p=(1:n-0.5)/n
>
>> > > z=qnorm(p, mean(x), sd(x),)[order(order(x))]
>
> But this seems to generate 10 new numbers. And not give corresponding
> quantiles from a normal distribution.
Try:
qqnorm(x); qqline(x, col = 2)
....as suggested in the examples in the help message from ?qqplot.
If you want the quantiles, invoking str(qqnorm(x)) suggests that the "x-
values" can be recovered by:
qqnorm(x)$x
....and therefore the quantiles from:
pnorm(qqnorm(x)$x)
--
David Winsemius
More information about the R-help
mailing list