首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中执行自举配对t-test?

如何在R中执行自举配对t-test?
EN

Stack Overflow用户
提问于 2016-03-04 02:03:27
回答 1查看 3K关注 0票数 3

我想要在R中执行引导配对t-test。我已经尝试过在使用参数配对t-test时返回p<.05的多个数据集,但是当我运行引导程序时,我得到的p值在0.4和0.5之间。我是不是运行得不正确?

代码语言:javascript
复制
   differences<-groupA-groupB
   t.test(differences) #To get the t-statistic e.g. 1.96

   Repnumber <- 10000                  
   tstat.values <- numeric(Repnumber)       
   for (i in 1:Repnumber) {
     group1 = sample(differences, size=length(differences), replace=T)
     tstat.values[i] = t.test(group1)$statistic
   }

   #### To get the bootstrap p-value compare the # of tstat.values
   greater (or lesser) than or equal to the original t-statistic divided
   by # of reps:

   sum(tstat.values<=-1.96)/Repnumber

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-03-04 03:00:47

看起来你是在比较苹果和橙子。对于differences的单个t检验,您将获得t统计量,如果大于临界值,则表明group1group2之间的差值是否与零有显着差异。您的自举代码做了同样的事情,但是对于10,000个differences的自举样本,它给出了来自differences总体的不同随机样本的t统计量的变化估计。如果你取这些自举t统计量(mean(tstat.values))的平均值,你会发现它与整个differences样本中的单个t统计量大致相同。

sum(tstat.values<=-1.96)/Repnumber给出的自举t统计量百分比小于-1.96。这是对重复随机样本中t统计量小于-1.96的时间百分比的估计。我认为这基本上是对测试在给定样本大小和显着性水平下检测group1group2之间给定大小的差异的能力的估计,尽管我不确定这样的能力分析有多强大。

就正确引导t-test而言,我认为您实际上需要做的是某种置换测试,它检查您的实际数据是否为异常值,而不是反复打乱数据上的标签并对每个打乱的数据集进行t-test。您可能想在CrossValidated上问一个问题,以便获得有关如何正确处理您的数据的建议。以下CrossValidated答案可能会有所帮助:hereherehere

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35779657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档