Code:
clear all webuse hsng2 mata: void mydemean(string scalar varlist, string scalar newvars, string scalar touse) { real matrix X, Xn st_view(X, ., varlist, touse) st_view(Xn, ., newvars, touse) Xn[., .] = X :- mean(X) X :- mean(X) Xn } end tempvar touse gen byte `touse' = 0 replace `touse' = 1 in 34/37 loc varlist "1b.region 2.region 3.region 4.region" foreach var in `varlist' { fvrevar `var' loc var "`r(varlist)'" qui replace `var' = . loc newvars "`newvars' `var'" } mata: mydemean("`varlist'", "`newvars'", "`touse'")
Code:
1 2 3 4 +-----------------------------+ 1 | 0 -.25 -.25 -.25 | 2 | 0 .75 -.25 -.25 | 3 | 0 -.25 .75 -.25 | 4 | 0 -.25 -.25 .75 | +-----------------------------+ [symmetric] 1 2 3 4 +-----------------+ 1 | 0 | 2 | 0 0 | 3 | 0 0 0 | 4 | 0 0 0 0 | +-----------------+
I get the same results in all versions from Stata 12 until the most recent update of Stata 16.
0 Response to Unexpected behavior (suspected bug) when using Mata views with temporary variables created by fvrevar
Post a Comment