在Stata中使用`permute`命令进行安慰剂检验时,遇到`=exp not allowed`的错误信息通常意味着你在命令中不当使用了等号(`=`)。在`permute`命令语法里,你应当使用双等号(`==`)来指定一个条件。
例如,如果你想要测试的是`treat`组别变量和回归系数`beta`(即`_b[treat]`)是否等于0的情况下的P值,正确的命令格式应该是这样的:
```stata
permute treat beta : regress y c.x##i.treat, vce(cluster clustervar) if condition ///
, reps(1000) level(95) keep(permresults.dta)
```
但在这个特定情况下(如果我理解你的目标正确),你应当调整`permute`命令的语法以正确地指定测试条件,比如:
```stata
permute treat : regress y c.x##i.treat, vce(cluster clustervar) if condition ///
, reps(1000) level(95) keep(permresults.dta)
scalar beta = _b[treat]
qui sum beta if r >= .
di "The p-value is " r(p)
```
在这个例子中,你首先执行了回归,并通过`_b[treat]`保存了treatment组的系数值。之后使用`summarize`命令计算beta等于或大于0的次数(假设你的原假设是β=0)。然后,基于这些结果计算出p值。
在你的具体情况下,你可能想要检验的是_treat_变量的回归系数是否显著不同于某个特定值(如零),所以要确保你在`permute`命令中正确地使用了双等号(`==`)以及正确指定了要进行的测试。
此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用