Несоответствующие массивы | Ошибка расчета Т в квадрате | два независимых образца | р

Я пытаюсь вычислить квадрат 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)

Мне пришлось поменять местами различие между вектором средних и его транспонированной версией.

Другие вопросы по тегам