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