mata: mata clear
sysuse auto, clear
reg price weight trunk
mata
b=st_matrix(“e(b)”)’
b
end
******************************
mata: mata clear
sysuse auto, clear
gen constant=1
capt ssc inst tomata
di in red _rc
tomata price constant weight trunk
mata
X=(weight, trunk, constant)
y=price
b=invsym(X’*X)*X’*y
b
//for comparison:
mata stata reg price weight trunk
end
*****************stata mata interact**********************
mata: mata clear
mata:
void underbar(string scalar mat, real scalar thresh)
{
real scalar i
i = rows(st_matrix(mat))
st_matrix(“B”, (st_matrix(mat) :< thresh) :/ st_matrix(mat) :* (J(i,i,
1) – I(i)) )
}
end
sysuse auto,clear
qui reg price trunk weight length turn
mat list e(V)
mata: underbar(“e(V)”, 10)
mat list B
******************************************************
