r语言 - 如何计算功率值



我在R中模拟了数据,并进行了2-sample t-test (2-sided hypothesis)。我假设alpha值为0.05,计算p值来决定我是否接受或拒绝原假设。我现在需要计算每个数据集和图的功率。我需要你帮我计算已知阿尔法时的能量。关于我的数据的更多信息:对于每个样本1和样本2,我有100个样本-rnorm(100,mean1,sd1)的数据集。

示例数据:

sample1 <- replicate(100,rnorm(100,0,1))
sample2 <- replicate(100,rnorm(100,5,3))

认为你的意思是这样的:

通过对每组样本运行测试来提取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<alpha)>

您可以对sum(pvalues<alpha)/nsim执行此操作,但是

mean(pvalues<alpha)

稍微紧凑一些。(pvalues < alphaTRUEFALSE;对其应用sum()mean()等数字函数,将FALSE转换为0,TRUE转换为1;取均值计算值的比例pvalues < alpha恰好是拒绝零假设→幂的观察概率。

正如@neilfws指出的,使用power.t.test()可以更有效地找到t检验的功能(然而,模拟对于处理不符合标准框架的异常情况仍然有用)。

最新更新