将标量写入 Stata 中的文件



我想将具有一些预生成值的标量写入文件。这是一个示例,与我正在尝试完成的任务非常相似,但这些标量没有写入任何输出。我试图取消引用标量,如代码中所示,但没有成功。

scalar Sc1b  = 11
scalar Sc2b  = 22
scalar Sc3b  = 33
scalar Sc4b  = 44
scalar Sc5b  = 55
scalar Sc6b  = 66
scalar Sc7b  = 77
scalar Sc8b  = 88
file open myfile using"C:/mytable.txt", write replace
forvalues i=1/8 {
    forvalues q=1/8 {
        display `i', `q', `Sc`i'b', ("`Sc`i'b'"), ("`Sc("`i'")b'")  
        file write myfile ("`i'") _tab ("`q'") _tab `Sc`i'b' _tab ("`Sc`q'b'") _tab ("`Sc("`q'")b'") _n
    }
}
file close myfile

您不需要在此处取消引用标量。他们没有临时名称;您为它们分配了永久名称,因此没有要剥离的别名。我猜测用于编写标量的多个版本的代码是对正确代码的猜测,并且您只需要每个标量一次。为了其他平台上的引用,我还删除了相当具体的 Windows 引用。

scalar Sc1b  = 11
scalar Sc2b  = 22
scalar Sc3b  = 33
scalar Sc4b  = 44
scalar Sc5b  = 55
scalar Sc6b  = 66
scalar Sc7b  = 77
scalar Sc8b  = 88
file open myfile using "mytable.txt", write replace
forvalues i=1/8 {
    forvalues q=1/8 {
        display `i', `q', Sc`i'b 
        file write myfile ("`i'") _tab ("`q'") _tab (Sc`i'b) _n
    }
}
file close myfile

但请注意,此代码假定没有同名的变量,或者其名称缩写为与标量同名的变量。标量和变量共享相同的命名空间。如有必要,请使用 scalar() 消除歧义。

最新更新