作者romotting ()
看板Statistics
标题[程式] R模拟
时间Tue Mar 12 01:23:39 2013
------------------------------------------------------------------------
[软体程式类别]:
R
[程式问题]:
显着比例没有随SD下降而上升
[软体熟悉度]:
新手(不到1个月)
[问题叙述]:
1.我先产生一组N(0,1)和N(1,1)的mixture data(样本数4,比例分别是0.3和0.7),然後
用t.test检定mu=0.7,共做了10000次,显着比例有随SD下降而上升
2.但是我用two-sample去做,它的显着比例不管SD怎麽变,都在0.05左右
(case和control组样本数各4,这两组也都是N(0,1)和N(1,1)的mixture data,一样做
10000次)
3.所以我用看起来是two-sample,实际上是one-sample的t检定,但是显着比例也都维持
在0.05左右,我想可能是程式有问题,检查很多次,还是不知道错在哪
(case样本数4,control样本数1000,也是N(0,1)和N(1,1)的mixture,但是control组
的mean皆在0.7附近,所以等同於one-sample)
[程式范例]:
n <- 10000
y <- matrix(NA, 1004, n)
t <- numeric(n)
p <- numeric(n)
for(j in 1:n){
x1 <- rnorm(4,0,1)
x2 <- rnorm(4,1,1)
u <- runif(4)
v <- as.integer(u > 0.3)
y[1:4,j] <- v*x2+(1-v)*x1
z1 <- rnorm(1000,0,1)
z2 <- rnorm(1000,1,1)
u1 <- runif(1000)
v1 <- as.integer(u1 > 0.3)
y[5:1004,j] <- v1*z2+(1-v1)*z1
t[j] <- t.test(y[1:4, j],y[5:1004, j], alternative="two.sided",var.equal =
T)$statistic
p[j] <- t.test(y[1:4, j],y[5:1004, j], alternative="two.sided",var.equal =
T)$p.value
}
b <- sum(p<0.05)/n
麻烦版上高手帮忙
谢谢~
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.248.84.130
※ 编辑: romotting 来自: 111.248.84.130 (03/12 01:26)
1F:→ clickhere:n=4 is too small. 03/12 05:08
2F:推 Wush978:t[j], p[j]比较的两组样本,分布是不是一样阿? 03/12 10:59
3F:→ Wush978:如果分布一样,那就是看type I error,都是0.05不意外 03/12 11:00