Hi Stata users,
I'm trying to run a meta-analysis regression (i.e. "meta-regression") using the user-written command robumeta. At one point in the program it uses mkmat to form its selection matrix. It seems that it is running into a limit to the number of variables it will accept, or maybe there is a limit to the length of a macro. I have never run into a problem like this. The robumeta command works fine when I use less variables. Do you know what could cause this sort of problem?
Here is the output from "set trace on":
- matrix colnames `T' = `t'
= matrix colnames __000015 = effectsize
- mkmat `x' `cons' if `touse' & `studynumber' == `j', matrix(`X')
= mkmat rigor1 rigor2 rigor3 rigor4 researcherdeveloper _Itopic_2 _Itopic_3 _Itopic_4 _Itopic_5 _Itopic_6 _Itopic_7 _Itopic_8 _Itopic_9 _Itopic_10 _Itopic_1
> 1 _Itopic_12 _Itopic_13 _Itopic_14 _Itopic_15 _Itopic_16 _Itopic_17 _Itopic_18 _Itopic_19 _Itopic_20 _Itopic_21 _Itopic_22 _Itopic_23 _Itopic_24 _Itopic_25 _Ito
> pic_26 7 0 __000002 if __000000 & __00000D == 1, matrix(__000020)
------------------------------------------------------------------------------------------------------------------------------------------ begin mkmat ---
- version 9, missing
- syntax varlist(numeric) [if] [in] [, MATrix(name) noMISsing ROWNames(varname) ROWEq(varname) ROWPREfix(string) OBS NCHar(numlist integer max=1 >=1 <=32)
> ]
7 invalid name
The macro `x' is set early using standard commands:
*create macros of variables
tokenize `varlist'
local t `1'
macro shift
local x `*'
I'm trying to run a meta-analysis regression (i.e. "meta-regression") using the user-written command robumeta. At one point in the program it uses mkmat to form its selection matrix. It seems that it is running into a limit to the number of variables it will accept, or maybe there is a limit to the length of a macro. I have never run into a problem like this. The robumeta command works fine when I use less variables. Do you know what could cause this sort of problem?
Here is the output from "set trace on":
- matrix colnames `T' = `t'
= matrix colnames __000015 = effectsize
- mkmat `x' `cons' if `touse' & `studynumber' == `j', matrix(`X')
= mkmat rigor1 rigor2 rigor3 rigor4 researcherdeveloper _Itopic_2 _Itopic_3 _Itopic_4 _Itopic_5 _Itopic_6 _Itopic_7 _Itopic_8 _Itopic_9 _Itopic_10 _Itopic_1
> 1 _Itopic_12 _Itopic_13 _Itopic_14 _Itopic_15 _Itopic_16 _Itopic_17 _Itopic_18 _Itopic_19 _Itopic_20 _Itopic_21 _Itopic_22 _Itopic_23 _Itopic_24 _Itopic_25 _Ito
> pic_26 7 0 __000002 if __000000 & __00000D == 1, matrix(__000020)
------------------------------------------------------------------------------------------------------------------------------------------ begin mkmat ---
- version 9, missing
- syntax varlist(numeric) [if] [in] [, MATrix(name) noMISsing ROWNames(varname) ROWEq(varname) ROWPREfix(string) OBS NCHar(numlist integer max=1 >=1 <=32)
> ]
7 invalid name
The macro `x' is set early using standard commands:
*create macros of variables
tokenize `varlist'
local t `1'
macro shift
local x `*'
Comment