Macros 宏的逻辑
我是斯塔塔的新手。 假设我们有一个数据集,其中Macros 宏的逻辑,macros,regression,stata,Macros,Regression,Stata,我是斯塔塔的新手。 假设我们有一个数据集,其中train和re78作为变量 为什么这个代码可以工作 sum train local a= r(N)*r(mean) regress re78 train outreg2 using TABLE_2.xls, addstat(A, `a') excel 但不是这个 sum train local a= r(N)*r(mean) sum `a'
train
和re78
作为变量
为什么这个代码可以工作
sum train
local a= r(N)*r(mean)
regress re78 train
outreg2 using TABLE_2.xls, addstat(A, `a') excel
但不是这个
sum train
local a= r(N)*r(mean)
sum `a'
这两种代码的目的都是调用局部变量a
,在Stata中,术语变量是为数据集中的列保留的。本地宏称为本地宏,而不是本地变量
为什么您的第二个代码失败?在求和序列
之后,本地宏a
计算为r(N)*r(平均值)
,因此应包含上次计算得出的值的总和或总和,应用求和
。(您也可以使用r(sum)
)
让我们假设在那之后你的总数是42
然后
被解释为
sum 42
那么问题与使用本地宏无关。问题是,summary
在这方面没有任何法律依据。summary
的最低法定语法是指定变量名或根本不指定变量名,这被解释为表示所有变量。但是42,或者不管你的总数是多少,都不符合语法,而且是非法的
我不清楚你想要这个语法做什么,但它是不合法的
sum 42