我是馬塔新手,我對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