我想绘制一个测试的大小例如t test与样本大小的关系图如何在R中做到这一点?

问题描述

我有x<-rnorm (a,1)y <- rnorm( a,1) a表示样本大小,我将使用不同的样本大小,例如(20,30,40,50),然后计算测试的大小(t test或其他任何测试),然后将其与样本量作图。

plot (a,size of the test)

解决方法

这听起来像是我与学生一起做的锻炼,目的是向他们展示自由度对临界T值的影响。

首先,我不会为每个样本大小执行一次,但至少会执行100-1000次。然后,存储所有结果并绘制密度图以可视化T值。也许还包括条形图,以表明5%的显着性与样本大小无关,因为R校正了自由度:

ssizes = c(5,10,20,30,50,100,200)
cols = rainbow(7)
t.list = list()
p.list = list()
n = 1000
for(s in ssizes){
  t = c()
  sig = 0
  for(i in 1:n){
    x = rnorm(s,1)
    y = rnorm(s,1)
    test = t.test(x,y)
    t[i] = test$statistic ## Store the t-value
    if(test$p.value<0.05){sig=sig+1}
  }
  t.list[[as.character(s)]]=t
  p.list[[as.character(s)]]=sig
}

plot(0,pch="",main="Density Plots",xlim=c(-4,4),ylim=c(0,0.5),xlab="T-Value")
for(i in 1:length(ssizes)){
  lines(density(t.list[[i]]),col=cols[i])
}
legend("topleft",as.character(ssizes),lwd=1,col=cols)

barplot(unlist(p.list),main=paste("Number of tests with p<.05 out of ",n,"tests"),xlab="Sample Size")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...