Несоответствующие массивы | Ошибка расчета Т в квадрате | два независимых образца | р
Я пытаюсь вычислить квадрат T для двух независимых выборок (x_x1 и x_x2).
У меня есть следующие параметры:
x_bar_1 <- colMeans(x_x1, na.rm = TRUE)
x_bar_2 <- colMeans(x_x2, na.rm = TRUE)
# variance covariance matrices
S1 <- cov(x_x1) # for the first population
S2 <- cov(x_x2) # for the second population
# number of rows
n_1 <- nrow(x_x1)
n_2 <- nrow(x_x2)
# S pooled
S_pool=(((n_1-1)*S1) +((n_2-1)*S2))/(n_1+n_2-2)
# transpose
d <- x_bar_1-x_bar_2
dt <- t(d)
# T squared
T_sq = ((n_1*n_2)/(n_1+n_2)) * (x_bar_1-x_bar_2) %*% solve(S_pool) %*% dt
Я получаю ошибку:
Ошибка в (x_bar_1-x_bar_2)%%решить (S_pool)%% dt:
несоответствующие аргументы
Что мне не хватает?
1 ответ
Это решило проблему:
T_sq = ((n_1*n_2)/(n_1+n_2)) * dt %*% solve(S_pool) %*% (x_bar_1-x_bar_2)
Мне пришлось поменять местами различие между вектором средних и его транспонированной версией.