Мне нужно использовать 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): не все аргументы имеют одинаковую длину
Как справиться с этой ошибкой?
Отлично работает для матриц с одинаковым номером рядов.