我正在使用来自ICPSR的数据,其中do
文件是在2001年左右在Stata V7中编写的。do
文件指出该程序仅在版本7中运行(这是真的) 。我在理解部分代码时遇到了问题,我想知道是否有更多知识渊博的人可以提供帮助。
以下是代码的示例块:
program drop _all;
program define impact1;
scalar drop _all;
*First define proportions in your sample;
qui reg svy_cmove [pweight=`8'] if `1'~=. & t_exp_vs_ph==1;
scalar define ptmove=_b[_cons];
qui reg svy_cmove [pweight=`8'] if `1'~=. & t_s8_vs_ph==1;
scalar define ps8move=_b[_cons];
qui reg `6' [pweight=`8'] if `1'~=.;
scalar define tprop=_b[_cons];
qui reg `7' [pweight=`8'] if `1'~=.;
scalar defin s8prop=_b[_cons];
*Need to svyset data to specify weight;
svyset pweight `8' ;
代码运行良好并执行它应该执行的操作(从研究中复制表),但我不明白的是编号引用的含义,例如,
pweight= `8'
它指的是调查中使用的总重量,但我不知道Stata如何建立参考之间的连接
`8'
和适当的重量变量。请注意,它并未在do文件中的任何位置定义。当代码运行一系列回归以复制研究团队生成的表时,代码会在整个文件中使用这些引用。
了解此过程如何运作将有所帮助,因此我可以理解Stata如何在变量和数字之间建立连接。
答案 0 :(得分:3)
这些只是位置参数。 1表示程序命令后写的第一个字,2表示第二个字,依此类推。这在Stata仍然是标准的
这是一个例子
clear
program define positions
di "`1'"
di "`2'"
di "`3'"
end
positions one two three
大概当你调用impact1
程序时,第八个参数是概率权重。