Я бы хотел передать параметр noconstant
из программы-оболочки во внутренний вызов regress
.Следующее решение работает, но оно кажется особенно дрянным и не расширяемым, если я хочу передать несколько опций.
webuse grunfeld, clear
capture program drop regress_wrapper
program define regress_wrapper
version 11.2
syntax varlist(min=2 numeric) [if] [in] ///
[, noconstant(string)]
tokenize `varlist'
local y `1'
macro shift
local x `*'
regress `y' `x', `noconstant'
end
regress_wrapper invest mvalue kstock
regress_wrapper invest mvalue kstock, noconstant(noconstant)
Я думал, что будет работать что-то более похожее на следующее, но оно не проходит noconstant
опция.
capture program drop regress_wrapper
program define regress_wrapper
version 11.2
syntax varlist(min=2 numeric) [if] [in] ///
[, noconstant]
tokenize `varlist'
local y `1'
macro shift
local x `*'
regress `y' `x', `noconstant'
end
regress_wrapper invest mvalue kstock
regress_wrapper invest mvalue kstock, noconstant