Как я могу написать эту строку кода в MATLAB (в настоящее время R)? - PullRequest
0 голосов
/ 16 января 2019

Как я могу написать эту строку кода в MATLAB (в настоящее время R)?

vcov_beta_hat <- c(sigma2_hat) * solve(t(X) %*% X)

Моя попытка,

vcov_beta_hat = [sigma2_hat.*((X'*X))];

Однако я борюсь за то, что делает 'c' в коде r?

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Несмотря на то, что приведенный выше ответ указывает на то, что в коде Matlab чего-то не хватает, решение может означать в R множество разных вещей,

Если в уравнении нет запятой, это ничего не решает и фактически принимает обратное,

Инверсия A, MATLAB: инв (A) R: решить (A)

Следовательно, vcov_beta_hat = [sigma2_hat.*inv((X'*X))];

0 голосов
/ 16 января 2019

c(a,b,c) обозначает вектор в R. В Matlab вы написали бы

vec = [a b c];

Также вам нужно найти эквивалент функции R- solve(). Пока что ваш код Matlab просто умножает X 'на X и не решает систему уравнений.

linsolve должна быть хорошей отправной точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...