a)从X〜N(μX= 25,σX= 4)生成50个值,从Y〜N(μY= 25,σY= 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)
答案 0 :(得分:1)
这是另一种方法:
library(MASS) #load MASS library
s <- 4*diag(2500) #create the variance matrix for the simulation
set.seed(123) # seed to replicate results
x <- mvrnorm( 50, m= rep(25,times=2500), Sigma=s) #draw 50 values, 25000 times
y <- mvrnorm( 50, m = rep(25, times=2500), Sigma=s) #draw 50 values, 2500 times
diff <- x - y
test <- apply(diff,2,t.test) #do the t.tests
names(test) #some of the results you can print
如果对代码有疑问,可以问我。
答案 1 :(得分:1)
另一种可能性是使用 this.chart = new Chart(this.chartRef.nativeElement, {
type: 'doughnut',
data: {
datasets: [{
data: [
this.randomScalingFactor(),
this.randomScalingFactor(),
this.randomScalingFactor(),
this.randomScalingFactor(),
],
label: 'Dataset 1',
backgroundColor: ["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#e8c3b9"],
}],
labels: [
'0.11 - 0.15 EUR',
'0.16 - 0.20 EUR',
'0.20 - 0.24 EUR',
'0.24 - 0.28 EUR',
]
},
options: {
responsive: true,
legend: {
position: 'right'
},
title: {
display: true,
text: 'Service desk in English'
},
animation: {
animateScale: true,
animateRotate: true
}
}
});
:
请注意,您必须在函数外部设置随机种子。
<canvas #lineChart>{{ chart }}</canvas>
答案 2 :(得分:0)
另一种可能性是:
set.seed(1081)
n <- 50
times <- 2500
x <- data.frame(matrix(rnorm(n*times, mean=25, sd=4), nrow=n))
y <- data.frame(matrix(rnorm(n*times, mean=25, sd=4), nrow=n))
pvals <- mapply(FUN = function(x,y) t.test(x,y)$p.value, x, y)
mean(pvals < .05) # should be ~= .05
Loop simultaneously over two lists in R (jogo的评论)
但是,如果按字面意思采取“每次重复都应生成新样本”,@ Cettt的答案可能就是所要的。