我在R中模拟了数据,并进行了2样本t检验(双面假设).我假设α值为0.05,通过计算p值来确定我是否接受或拒绝空假设。我现在需要计算每个数据集和绘图的功率。我需要帮助,如何计算功率时,阿尔法是已知的。关于我的数据的更多信息:我有100个样本数据集- rnorm(100,mean1,sd1)为每个sample1和样本2。
示例数据:
sample1 <- replicate(100,rnorm(100,0,1))
sample2 <- replicate(100,rnorm(100,5,3))发布于 2022-04-28 23:09:24
我你的意思是这样的:
通过对每一组样本运行测试,提取p值向量。
alpha <- 0.05
nsim <- 100
set.seed(101)
sample1 <- replicate(nsim, rnorm(100,0,1))
sample2 <- replicate(nsim, rnorm(100,5,3))
pvalues <- rep(NA, nsim)
for (i in 1:nsim) {
tt <- t.test(sample1[,i], sample2[,i]
pvalues[i] <- tt$p.value
}计算能力(p
你可以用sum(pvalues<alpha)/nsim做这件事,但是
mean(pvalues<alpha)
稍微紧凑一些。(pvalues < alpha是TRUE或FALSE;应用像sum()或mean()这样的数值函数将FALSE转换为0,TRUE转换为1;取平均值计算pvalues < alpha值所占的比例,这正是拒绝空假设→幂的观察概率。
正如@neilfws所指出的,使用power.t.test()可以更有效地进行t测试(然而,模拟对于处理不符合标准框架的异常情况仍然很有用)。
https://stackoverflow.com/questions/72050934
复制相似问题