我目前正在尝试将Stata脚本翻译成R脚本。我无法找到文件来准确解释e(F)是什么。
该脚本随机选择5,000个客户作为控件,12,000个客户作为处理。然后,它执行某种统计测试以确定随机选择是否会创建统计上严格的样本。谷歌搜索只能让我到目前为止,因为我不太了解Stata语法。
我真的很感激任何帮助。这是有问题的剧本......
import delimited $data\data.csv
gen random=0
gen rank=0
scalar treattail=0
scalar controltail=0
gen control=0
gen treat=0
local treatment treat control
while treattail <0.25 {
foreach y in `treatment' {
qui replace `y'=0
}
qui replace random=100*runiform()
sort random
replace rank=_n
replace control=1 if rank>=0 & rank<=5000
replace treat=1 if rank>5000 & rank<=17000
foreach y in `treatment' {
reg `y' meanconsumption varconsumption
scalar `y'tail = Ftail(`e(df_m)',`e(N)'-`e(df_m)',`e(F)') # I don't quite understand this line
}
scalar dir
}
答案 0 :(得分:4)
local treatment treat control
....
foreach y in `treatment' {
将在大括号和匹配的右大括号之间运行代码,并将本地宏y设置为treat
,第二次设置为control
。
reg `y' meanconsumption varconsumption
第一次,这将对两个变量treat
和meanconsumption
上的变量varconsumption
进行回归。第二次,变量control
将在相同的两个变量上回归。
scalar `y'tail = Ftail(`e(df_m)',`e(N)'-`e(df_m)',`e(F)')
这将使用前两个参数给出的参数计算F分布的尾部,并计算第三个参数给出的F统计量,其中估计结果e()
来自刚刚运行的回归命令,并且定义如下。
e(N) number of observations
e(df_m) model degrees of freedom
e(F) F statistic
第一次,计算出的值将存储在Stata标量treattail
中,第二次存储在Stata标量controltail
中。换句话说,它似乎是从两个回归计算和保存F统计数据的p值。