Мои данные и код, как это:Как выполнить т-тестов для каждого уровня фактора с tapply
my_vector <- rnorm(150)
my_factor1 <- gl(3,50)
my_factor2 <- gl(2,75)
tapply(my_vector, my_factor1, function(x)
t.test(my_vector~my_factor2, paired=T))
Я хочу сделать отдельную Стьюдента для каждого уровня my_factor1, чтобы проверить my_vector для обоих уровней my_factor2.
Однако, с моим кодом t-критерий не разбивает уровни my_factor1, а результаты равны для каждого уровня, потому что my_vector полностью включен в каждый t.test.
Это выход моего кода:
$`1`
Paired t-test
data: my_vector by my_factor2
t = 0.2448, df = 74, p-value = 0.8073
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.2866512 0.3669667
sample estimates:
mean of the differences
0.04015775
$`2`
Paired t-test
data: my_vector by my_factor2
t = 0.2448, df = 74, p-value = 0.8073
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.2866512 0.3669667
sample estimates:
mean of the differences
0.04015775
$`3`
Paired t-test
data: my_vector by my_factor2
t = 0.2448, df = 74, p-value = 0.8073
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.2866512 0.3669667
sample estimates:
mean of the differences
0.04015775
Что я упускаю или делаю неправильно?
вы сказали 'функция (х)', но где х в формуле? а также что '' 'в функции? – user227710
'lapply (X = split (my_vector, my_factor1), FUN = function (z) {lapply (X = split (my_vector, my_factor2), FUN = function (y, z, ...) t.test (y, z), z, парный = T)}) Это делает то, что вы хотите в общем виде, и можете иметь дело с факторами «1: n» в векторе факторов, но не использует 'tapply' – Vlo