У меня есть совместный PMF в матричной форме. Как использовать R, чтобы найти $ P (N> G) $? - PullRequest
1 голос
/ 24 октября 2019

Я только начал изучать R, и я пытаюсь выполнить некоторые расчеты с использованием совместного PMF в R.

Следующая матрица содержит объединенный PMF $ p_ {NG} (n, g)$:

(pNG <- matrix(c(16, 0, 0, 0, 0, 8, 8, 0, 0, 0, 4, 8, 4, 
                 0, 0, 2, 6, 6, 2, 0, 1, 4, 6, 4, 1)/80, 
               ncol = 5, nrow = 5, byrow = TRUE))

colnames(pNG) <- rownames(pNG) <- 0:4

Предельные PMF $ N $ и $ G $ находятся следующим образом:

(pN <- rowSums(pNG))
(pG <- colSums(pNG))

Ожидаемое значение и дисперсия $ N $ находятся следующим образом:

(EN <- sum(0:4 * pN))
(VarN <- sum((0:4 - EN)^2 * pN))

Условные PMF $ N $ при $ G = 0, 1, 2, 3, 4 $ находятся следующим образом:

(pNgG <- sweep(pNG, 2, pG, "/"))

Ожидаемое значение $ N$ дано $ G $ найдено следующим образом:

(ENgG <- colSums(0:4 * pNgG))

Дисперсия $ N $ при $ G $ найдена следующим образом:

(VarNgG <- colSums(outer(0:4, ENgG, "-")^2 * pNgG))

Со всем этим сказано и сделано,Я хочу найти $ P (N> G) $. Однако я не уверен, как это сделать. Я думал, что здесь есть шаблон, связанный с диагоналями (верхней или нижней) матрицы, поскольку именно здесь $ i> j $ или $ j> i $;на диагонали у нас есть $ i = j $ ..

Я был бы очень признателен, если бы люди могли потратить время, чтобы показать мне, как это делается.

1 Ответ

1 голос
/ 24 октября 2019

Таким образом, вам нужно сложить все ячейки матрицы, где номер строки больше номера столбца. Это подматрица «нижнего треугольника», доступ к которой можно получить с помощью функции R lower.tri():

sum(pXY[lower.tri(pXY)])

Вы можете использовать upper.tri() для обратного. (И diag(), если вам нужна диагональ, где номер строки равен номеру столбца.)

...