T-критерий Стьюдента (Парный) на нескольких матрицах с разным количеством строк с использованием R - PullRequest
1 голос
/ 29 января 2020

Мне нужно использовать t-критерий Стьюдента на столбцах двух матриц, имеющих 21 х 4044 и 36 х 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]))

Но это дает следующую ошибку

Ошибка в complete.cases (x, y): не все аргументы имеют одинаковую длину

Как справиться с этой ошибкой?

Отлично работает для матриц с одинаковым номером рядов.

1 Ответ

2 голосов
/ 29 января 2020

Парный t-тест предполагает, что у вас есть два результата для каждой сущности, поэтому, например, вы можете измерить частоту сердечных сокращений одного и того же человека до и после гонки, оставив вам чтение «1» и «2», которые являются «парными». , Это то, чего вы добиваетесь с помощью paired = TRUE.

. В вашем примере у вас есть векторы разного размера, что предполагает, что вы не можете записывать два показания для одной и той же сущности, поэтому отсюда:

  • Если вы не собирали пары показаний по одному и тому же предмету, переключитесь на paired = FALSE.
  • Если вы собирали пары показаний по одному и тому же предмету, значит, вы пропускаете некоторые показания ( в силу того, что один столбец имеет больше показаний, чем другой), и вы должны удалить случаи, когда у вас нет двух показаний.

Надеюсь, это имеет смысл и немного помогает.

РЕДАКТИРОВАТЬ: После внесения этого изменения и запуска вашего кода, я получаю:

stat -0.1336019 -0.8981109 -0.1962769 0.9045503 0.3164153 
df   42.35801   42.9418    38.21301   40.52551  41.40109  
pval 0.8943501  0.3741347  0.8454336  0.3710499 0.7532772 
conl -0.7211962 -1.069044  -0.6361448 -0.363129 -0.5404484
conh 0.6316144  0.4102729  0.5236731  0.9519358 0.7413329 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...