2014-02-05 112 views
0

我正在尝试导出F-statistic和Prob> F以进行2次系数测试(对于各个回归测试)。我使用xml_tab将回归结果导出到excel中。我已经能够将F-stat和概率[r(p)和r(F)]的结果存储为本地数据,但无法找到一种使流程自动化的方法,以便这些结果显示在我的总体回归中在xml_tab中。我知道这是一个用户编写的命令,但想知道是否有人已经发现了黑客行为。我不想“复制粘贴”,因为有2个测试和很多回归(我有更多),我想尽量减少人为错误。我的代码结构如下。Stata - 使用XML_Tab导出F测试结果

reg y x control1 control2 control3, robust plus 
estimates store model_1 
test control1 = control2 
local p_1=r(p) 
local f_1=r(F) 
test control1 = control3 
local p_2=r(p) 
local f_2=r(F) 
local x = upper(word(c(current_date),1)+word(c(current_date),2)+word(c(current_date),3)) 
    xml_tab author_model_1 /// 
    "C:\Users\analysis_(`x').xml", /// 
    replace nolabel below tstat /// 
    format((S2110) (SCCB0 NCCR3 NCCR2)) /// 
    keep(y x control1 control2 control3) /// 
    stats(N r2 r2_a p) /// 
    sheet("Analysis") /// 
    title("Analysis") /// 
    cwidth(0 100, 1 80, 2 80, 3 80) /// 
    cnames("Basic Regression") 
+0

你是什么意思“...以便这些结果显示在我在xml_tab的整体回归中。” ?您是否已经完成了_在Stata_上创建印刷表格,Lokshin和Sajaia,Stata Journal(2008)8,Number 3?它可以在网上免费获得。 –

+0

谢谢!我已经检查过,但仍然不知道我能做什么。我知道我的测试可以存储为参数r(p)和r(F),但不知道如何让它们在xml_tab中导出,更不用说区分这两个测试。我试图用'stat'部分作为存储的本地人来调用它们,但它不起作用。我指的是函数的'stat'部分 - 或者你推荐一些与矩阵有关的东西? – user2836019

+0

我已经更新了我的答案。 –

回答

1

几个错误你的代码:

xml_tab命令的语法是:

xml_tab [namelist] [, options] 

其中名称列表 “是存储估计或矩阵列表” 。您有author_model_1不符合该要求。

2.将.xml文件输出必须与选项save(["]filename["]) 你不同意这种要么遵守规定。

3.您的keep()选项包含因变量,但keep()用于处理系数。因变量没有系数。

下面的代码工作(只是改变输出目录)

clear all 
set more off 

sysuse auto 

reg price mpg weight length, robust plus 
estimates store model 

local x = upper(word(c(current_date),1)+word(c(current_date),2)+word(c(current_date),3)) 
display "`x'" 

xml_tab model, /// 
    save("D:\USER\Desktop\myfile_(`x').xml") /// 
    replace nolabel below tstat /// 
    format((S2110) (SCCB0 NCCR3 NCCR2)) /// 
    keep(mpg weight length) /// 
    stats(N r2 r2_a p) /// 
    sheet("Analysis") /// 
    title("Analysis") /// 
    cwidth(0 100, 1 80, 2 80, 3 80) /// 
    cnames("Basic Regression") 

所有这一切都可以解决的简单看help xml_tab

该命令根据其帮助文件仅允许存储的估计结果(使用estimates store)和矩阵。 如果你想导出,例如,test(这将而不是保存为estimates store)的结果,那么你可以将结果保存到矩阵并将其输入到xml_tab。但是,一些测试表明,你不能同时喂食,因此必须进行两次呼叫。所有存储的估算结果的第一个;所有矩阵的第二个。像这样的工作:

clear all 
set more off 

sysuse auto 

reg price mpg weight length, robust plus 
estimates store model 

test mpg = weight 
matrix p1 = r(p) 
matrix f1 = r(F) 

test mpg = length 
matrix p2 = r(p) 
matrix f2 = r(F) 

local x = upper(word(c(current_date),1)+word(c(current_date),2)+word(c(current_date),3)) 

xml_tab model, save("D:\USER\Desktop\myfile_(`x').xml") replace 
xml_tab p1 f1 p2 f2, save("D:\USER\Desktop\myfile_(`x').xml") append 

结果分布在两张(用MS Excel打开时)。我发现你的追求输出笨拙,但我不是使用xml_tab命令的专家。您可能想要探索Stata内置命令(xml_tab是来自SSC的用户编写的命令)。要直接导出到电子表格,请尝试使用help export excel,help putexcel。更多一般选项请尝试help export。对于允许导出结果的受欢迎的用户编写命令,请尝试ssc describe estoutssc describe tabout