【发布时间】:2017-03-30 20:55:23
【问题描述】:
我很难保存回归的输出。 Stata 应该在定义的目录中将文件保存为“output.dta”,但是该文件没有保存在这个文件夹中(也没有保存在我的 PC 上的其他任何地方)。这是最后一段代码,我希望将其保存在其中:
if (`counter'==1) {
save "C:\Users\Milla\Code\output", replace
local counter = `counter' + 1
}
if (`counter'!=1) {
cap append using "C:\Users\Milla\Code\output"
duplicates drop *, force
cap save "C:\Users\Milla\Code\output", replace
}
有人知道为什么会发生这种情况吗?代码运行良好,不会引发错误或警告。但它也没有像往常一样说“output.dta is saved”,当一个人在Stata中保存任何东西时。
在此先感谢并致以最诚挚的问候, 米拉
【问题讨论】:
-
代码没有抛出错误或警告的原因,并且没有说“output.dta is saved”(对于循环内的
save),是因为您使用了capture来抑制循环中append和save命令的所有输出。尝试从这些命令中删除cap并重新运行,看看 Stata 会告诉你什么。 -
counter的初始值是多少?你说 output.dta 在计算机上的任何地方都不存在,所以如果counter != 1当你运行它时,它会尝试使用不存在的文件append并抛出一个 r(601) file not found 错误。你在append前面加上capture,所以任何错误都会被抑制。虽然我想它仍然应该save第二个save命令上的文件。
标签: regression stata