• Sign Up
• Login
• API
• FAQ
• Tools
• Archive
SHARE
TWEET # Untitled a guest May 3rd, 2018 122 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. # Collect data for two groups of sample size nDataPerStep.
2. # Continue adding to the data for up to maxSteps, but stop if a
3. # t-test returns a p-value less than sig_lvl.
4. seq_sampling_model = function(maxSteps     = 100,
5.                               nDataPerStep = 10,
6.                               sig_lvl      = 0.05){
7.
8.   a = b = NULL
9.   p = matrix(nrow = maxSteps)
10.   for(i in 1:maxSteps){
11.     a    = c(a, rnorm(nDataPerStep))
12.     b    = c(b, rnorm(nDataPerStep))
13.     p[i] = t.test(a, b)\$p.value
14.
15.     if(p[i] < sig_lvl){ break }
16.   }
17.   p = p[1:i, ]
18.
19.   return(list(a = a, b = b, p = p))
20. }
21.
22.
23. # Run simulation
24. set.seed(0)
25. nSim         = 1e2
26. maxSteps     = 100
27. nDataPerStep = 10
28. sig_lvl      = 0.05
29.
30. # Save the *last* p-value
31. res1 = replicate(nSim, tail(seq_sampling_model(maxSteps, nDataPerStep, sig_lvl)\$p, 1))
32.
33. # Save the *lowest* p-value
34. res2 = replicate(nSim, min(seq_sampling_model(maxSteps, nDataPerStep, sig_lvl)\$p))
35.
36. # Plot the null (no difference between a and b) distribution of p-values
37. par(mfrow = c(2, 1))
38. hist(res1, main = paste0("Last: ", round(mean(res1 < sig_lvl), 3), "% significant"))
39. hist(res2, main = paste0("Min: ",  round(mean(res2 < sig_lvl), 3), "% significant"))
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top