Stata ado程序中可选字符串选项的默认值
我编写了一个.ado程序来生成一个新变量。我想喝一杯 附加到新变量的默认后缀,但允许用户指定 后缀也就是说,默认情况下,将Stata ado程序中可选字符串选项的默认值,stata,Stata,我编写了一个.ado程序来生成一个新变量。我想喝一杯 附加到新变量的默认后缀,但允许用户指定 后缀也就是说,默认情况下,将\u tr附加到原始变量的名称中,但是 允许使用用户指定的后缀,例如\u tr1pt 这在语法中可能吗 我的语法行如下 syntax varlist [if] [in] /// [, Byvar(varlist) Tail(real 1) /// Suffix(string) noRelabel] clonevar `x'_`suffix' = `x' //
\u tr
附加到原始变量的名称中,但是
允许使用用户指定的后缀,例如\u tr1pt
这在语法中可能吗
我的语法
行如下
syntax varlist [if] [in] ///
[, Byvar(varlist) Tail(real 1) ///
Suffix(string) noRelabel]
clonevar `x'_`suffix' = `x' ///
if `thisuse' & inrange(`pct', `tail', 100 - `tail')
后缀将在程序中应用,如下所示
syntax varlist [if] [in] ///
[, Byvar(varlist) Tail(real 1) ///
Suffix(string) noRelabel]
clonevar `x'_`suffix' = `x' ///
if `thisuse' & inrange(`pct', `tail', 100 - `tail')
我尝试了后缀(string tr)
和后缀(string“tr”)
,但这些都是语法
错误。我想我不能有一个选项的默认参数(而且我找不到)
任何关于字符串选项默认值的信息(在任何情况下)
有没有办法给本地宏后缀一个默认值 是的。您可以将后缀(字符串)
声明为一个选项,然后在语法之后
if "`suffix'" == "" local suffix "_tr"
如果用户没有指定参数,则本地宏后缀
将为空,您可以定义它应该是什么。这是默认值
我不知道为什么语法不允许这样做,但我认为这是标准过程,因为它不允许这样做