[R] question about sign test

Joshua Wiley jwiley.psych at gmail.com
Mon May 21 07:09:38 CEST 2012


Hi,

That seems a reasonable enough approach to me.

(p <- pnorm(0, mean = 1, sd = .5))

is the probability of a value being less than or up to 0 from the
distribution you specified.  Using that, lets repeat your little test
1000 times using your code, and then using ribnom() where the
probability that a value is 1 is 1 - p (i.e., if p is the probability
<= 0, then 1 - p is the probability of > 0).

res1 <- replicate(1000, binom.test(sum(rnorm(15, 1, 0.5) > 0), 15, p =
0.5, alternative="two")$p.value)

res2 <- replicate(1000, binom.test(sum(rbinom(15, 1, 1 - p)), 15, p =
0.5, alternative="two")$p.value)

now we can look at the average p-value from both techniques:

mean(res1)
mean(res2)

they are quite similar.  I ran each of them with 100,000 replicates
for stability and got:

> mean(res1)
[1] 0.0007627936
> mean(res2)
[1] 0.0007608844

I hope this helps,

Josh

On Sun, May 20, 2012 at 9:34 AM, T Bal <studenttbal at gmail.com> wrote:
> Hi,
> I want to compute p value of sign test for sample size=15 from normal
> distr., sd=0.5, mean=1, alternative should be two sided.
>
> Is this code correct in this situation?
>
>  binom.test(sum(rnorm(15,1,0.5)>0),15,p=0.5,alternative="two")$p.value
>
> Or should I use another code (function) e.g. rbinom?
>
> Thank you very much.
>
> kind regards,
> T. Bal
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
Programmer Analyst II, Statistical Consulting Group
University of California, Los Angeles
https://joshuawiley.com/



More information about the R-help mailing list