GAUSS로 작성된 MLE 견적서를 사용하여 R 코드를 다시 작성하려고합니다. 사용하지도 않고 GAUSS 자체도 사용하지 않았습니다. 그것). 코드에는 약간 혼란스러운 선이 있습니다.GAUSS에서 R 코드로 변환
invsig: scalar or m-by-m matrix with inverse of sigma
을 나는 조각으로 조각을 작동하도록 코드를 받고 일하고 있지만, 내 첫 번째 : 검증 된 가우스 코드에서
는 상태 (의견의 일부) "입력"아래 줄이 질문은 비교적 간단합니다. 여기
나를 혼란 가우스 조각입니다 :...
local m, k, tobs, invsig
m = rows(y);k = rows(x); tobs = rows(dat)
invsig= eye(m)*invsig
...
나는 이것이 "입력"invsig를 곱한 행렬은 이해하지만 시뮬레이션 예제의 코드에 부착 된 로그 파일 (작동 할 수), invsig의 스칼라 값을 사용하여 프로그램을 시작할 수 있습니다. IE : 초기 값을 invsig = 1로 설정
R에서는 이것이 작동하지 않습니다.
y.mat <- rep(rexp(3))
x.mat <- matrix(rexp(36), 12, 3)
myfct <- function(x,invsig){
m <- nrow(x)
invsig <- diag(m)%*%invsig
return(invsig)
}
t1 <- myfct(x.mat, 1) ##Non-conformable error
t2 <- myfct(x.mat, y.mat) ##Works
나는 내가 가우스와 R 사이의 변환에 뭔가를 놓친 거지되는 질문 R.에서 점점 오전 비 정합 오류를 이해 : 여기에 간단한 "테스트"코드는이를 얻으려고하는 것입니다? GAUSS는 도움말 매뉴얼을 온라인으로 읽는 동안 개별 기호 (*/+ -)를 사용하여 행렬 연산을 수행하고 요소 방식으로 일을 수행 할 때 "." 각 작업 전에. 그래서 저에게 GAUSS 코드는 행렬 곱셈 (R에서
%*%
)을 수행한다고 말하면서 단순 함수가 시도하는 것입니다.
모든 의견이나 제안을 보내 주시면 대단히 감사하겠습니다.
이것은 당신이 묻는 문제는 아니지만, GAUSS에서는'm'이'y'의 행의 개수로 정의되어있는 것처럼 보입니다 만, R에서는'x'의 행의 수 '. – Gregor
감사합니다. 예, 샘플 함수는 GAUSS 코드의 변형입니다 (단어 복제본의 단어가 아님). 그것들은 큰 프로그램에서 이와 같은 여러 가지 행렬을 가지고 있기 때문에 실수로 변수를 섞어 버렸지 만, 내가 돌아가서 x에서 y로 되돌려 놓으면 문제가 남아 있습니다. – Tony