使用t的不同行数在多个矩阵上的学生t检验(已配对)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用t的不同行数在多个矩阵上的学生t检验(已配对)相关的知识,希望对你有一定的参考价值。

我需要在列上使用学生t检验分别具有21 x 4044和36 x 4044的两个矩阵。这两列都是相同的,只是行的长度不同。

示例输入数据的示例代码

mat1 <- matrix(rnorm(100), ncol = 5)
mat2 <- matrix(rnorm(125), ncol = 5)

f <- function(x,y){
test <- t.test(x,y, paired=TRUE)
out <- data.frame(stat = test$statistic,
                df   = test$parameter,
                pval = test$p.value,
                conl = test$conf.int[1],
                conh = test$conf.int[2]
                )
return(out)
}


sapply(seq(ncol(mat1)), function(x) f(mat1[,x], mat2[,x]))

但是出现以下错误

Error in complete.cases(x, y) : not all arguments have the same length

如何处理此错误,请提出建议。

对于行数相同的矩阵,它可以很好地工作。

答案

配对t检验假设您对每个实体都有两个结果,因此,例如,您可以在比赛前后测量同一个人的心律,而您的读数“ 1”和“ 2”则为“配对”。这是您通过paired = TRUE实现的目标。

在您的示例中,您使用了不同大小的向量,这表明您可能未在记录同一实体的两个读数,因此从这里开始:

  • 如果尚未从同一主题收集成对的读数,请切换到paired = FALSE
  • [如果您一直在收集来自同一主题的成对读数,那么您会丢失一些读数(由于一列的读数要多于另一列,因此您应该删除没有两个读数的情况。

希望这有意义并且有所帮助。

以上是关于使用t的不同行数在多个矩阵上的学生t检验(已配对)的主要内容,如果未能解决你的问题,请参考以下文章

spss中配对t检验每个标示的含义

配对t检验和成组t检验各适用于啥情况?

R配对样本t检验(PAIRED T-TEST​​​​​​​)

python如何配对样本

python构建配对t检验(Paired Student’s t-test)

在 R 中实现的配对 t 检验的研究论文