Stata 类型与本地宏不匹配?
Stata type mismatch with local macro?
我正在尝试在 Stata 中创建一个循环以 运行 一堆回归。这是一个非常简化的版本:
foreach y of local years{
forval i=1/50 {
local cov `: word `i' of `covariates''
local int `: word `i' of `interactions''
if `cov' != "N" {
*regression stuff*
}
}
}
years
、covariates
、interactions
是我要循环的局部宏,后两个的长度是50,都是由字符串组成的,例如
local covariates "covariate1 covariate2 covariate3 covariate4"
这里的关键是 covariates
中的某些实例(以及完整代码中的 interactions
)我有一个名为“N”的字符串,这意味着我不想要在该实例中使用协变量进行回归。因此,
if `cov' != "N"
条件。问题是那一行给我一个类型不匹配错误,我不确定为什么。有谁知道为什么会这样吗?谢谢!
此处:if `cov' != "N"
、cov
求值为变量名,第一个观察值与字符串“N”进行比较,因此出现类型错误。
您可能需要:
if "`cov'" != "N"
我正在尝试在 Stata 中创建一个循环以 运行 一堆回归。这是一个非常简化的版本:
foreach y of local years{
forval i=1/50 {
local cov `: word `i' of `covariates''
local int `: word `i' of `interactions''
if `cov' != "N" {
*regression stuff*
}
}
}
years
、covariates
、interactions
是我要循环的局部宏,后两个的长度是50,都是由字符串组成的,例如
local covariates "covariate1 covariate2 covariate3 covariate4"
这里的关键是 covariates
中的某些实例(以及完整代码中的 interactions
)我有一个名为“N”的字符串,这意味着我不想要在该实例中使用协变量进行回归。因此,
if `cov' != "N"
条件。问题是那一行给我一个类型不匹配错误,我不确定为什么。有谁知道为什么会这样吗?谢谢!
此处:if `cov' != "N"
、cov
求值为变量名,第一个观察值与字符串“N”进行比较,因此出现类型错误。
您可能需要:
if "`cov'" != "N"