마타에서 새롭고 나는 st_select()
이 어떻게 작동하는지 의심 스럽습니다. 행이 누락 된 행렬을 추출하여 새 행렬 (nmF
)으로 저장하려고합니다. 프로그램을 실행하면이 새 행렬을 찾을 수 없다는 메시지가 나타납니다. 문제는 내가 결과를 저장하기 전에 행렬 nmF
을 정의해야하지만 Mata에서 수행하는 방법을 모르겠다는 것입니다. 모든 힌트를 많이 주시면 감사하겠습니다!마타 행렬 조작 : 행렬의 누락 행 선택
cap program drop myexample
program def myexample, rclass byable(recall) sortpreserve
version 14
syntax varlist [aweight iweight fweight] [if] [in]
args var1
tempname F rF nmF
set more off
local var1: word 1 of `varlist'
mat `F' = (.,.,. \ 0,2,0 \ 0,0,3)
mat list `F'
mata st_matrix(st_local("rF"), colsum(st_matrix("`F'"))) /*1 x cols*/
mat list `rF'
mata st_select(st_matrix(st_local("nmF")),st_matrix("`F'"), rowmissing(st_matrix("`F'"):==0))
*mata : st_matrix(st_local("nmF"), select(st_matrix("`F'"), rowmissing(st_matrix("`F'"):==0))) /* I have also tried this*/
mat list `nmF'
end
빠른 재생 주셔서 감사합니다. 나는 또한 다음과 같이 시도했다 :'st_matrix (st_local ("nmF"), select (st_matrix ("'F '"), rowmissing (st_matrix ("'F'") : == 0)))' 같은 결과. 행렬이 작성되지 않습니다. – apereza