Hi everyone,
Using Stata 15.1 MP8, I've encountered a variety of errors that seem to be caused by calling on Mata within a Stata if command that is evaluated as false. Try this:
loc run="no"
if "`run'"=="yes" {
mata {
test=1
test
}
}
else di "working fine"
The error returned is:
} is not a valid command name
Obviously the brackets are being treated in a specific way, as if the closing Mata bracket is being ignored? Some evidence for this is found with the following code, which works by excluding one of the closing brackets:
loc run="no"
if "`run'"=="yes" {
mata {
test=1
test
}
else di "working fine"
Furthermore, when the statement is evaluated as true, everything is fine. This, of course, can be shown by starting the first set of code with: loc run="yes".
The problem here can be significant, such as in my case. I'm coding a variety of analysis procedures that combine Mata and Stata, and I want to give users the option to skip over large sections of the code. For this, I'm using locals at the start of the .do file that can be set as "yes" or "no" and then evaluated as true or false in order to skip over lots of Mata and Stata code (e.g., if "`run_code'"=="yes" { ... ).
Any help here is greatly appreciated! Apologies if this issue has been addressed elsewhere. I've been looking around for a few days on-and-off, but couldn't find this issue addressed.
Mike
Related Posts with When Stata if command is false, calling on Mata causes errors
Calculating subsequent surgeries with data in long formatDear STATAList forum, I'm working with ophthalmic surgery data, trying to calculate which types of …
Tobit model in cmp -- marginal effect on probability of positive outcomeHi all, I am trying to estimate the marginal effect of the regressors on the probability of an unce…
Question concerning structuring long format dataHi, I am working with longitudinal data in long format. Idnr is identification number and time is t…
Syntax for algorithm that combines items received by (individuals and HH units)Dear all, I am trying to do the calculations for the algorithm below (i.e. to create the syntax for …
how to identify cases with error when the relationship code and the age do not matchDear All I have a dataset where I want to check the relationship code and age of the household head…
Subscribe to:
Post Comments (Atom)
0 Response to When Stata if command is false, calling on Mata causes errors
Post a Comment