a)从Χ 〜 Ν(μ Χ = 25,σ Χ = 4)生成50个值,并且从Υ 〜 Ν(μ Υ = 25,σ Υ = 4)生成50个值。使用t检验来检验平均值的相等性。
c)重复部分(a)2500次,并保留2500次测试中每一次的p值。每次重复应生成x的新样本和y的新样本。不要打印p值。请勿使用循环。
我在一个rnorm
样本上求解了A部分,但我不知道从哪里开始获得2500个不同的x随机样本和2500个不同的y随机样本,以获得2500个不同的p值。
我也不知道如何确保我写的代码,使我的教授将得到相同的答案,我没有。我尝试设置种子,但这只能使它的p值都是相同的使用我的代码以上。
# Part A
set.seed(1081)
x = rnorm(50,25,4)
y = rnorm(50,25,4)
t.test(x,y)
#Part B
#The p-value is 0.3752.
#We do not reject the null hypothesis.
#Part C
x1 = sample(x, 2500, replace = T)
y1 = sample(y, 2500, replace = T)
pval = sample(t.test(x1,y1)$p.value, 2500, replace = T)
4条答案
按热度按时间3okqufwl1#
另一种方法是:
如果你对代码有疑问,可以问我。
snz8szmq2#
另一种可能性是使用
replicate
:请注意,您必须在函数外部设置随机种子。
vs91vp4v3#
您可以使用
sapply()
函数多次计算t检验的p值,而无需使用循环。下面是一个示例:
我们在这里使用
sapply()
来执行2500次t检验。我更喜欢数字向量,这就是为什么我使用sapply()
。如果你喜欢将p值存储在列表中,你可以使用lapply()
函数,它返回一个列表。你提到你的p值都是一样的。也许你是在函数内部设置种子?qybjjes14#
又一种可能性是:
Loop simultaneously over two lists in R(jogo的评论)
但如果我们从字面上理解“每次重复都应该生成新样本”,@Cettt的答案可能就是我们想要的。