标签: stata

将矩阵从Stata 12导出到Excel或MATLAB

我需要将一个回归结果矩阵从Stata输出到MATLAB.我尝试使用Stata命令matwrite没有成功(我收到unrecognized command错误).这是尝试:

    ...
    *Regression 1
    reg invlrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
    lannxt lannxtsq lrlanxtsq pkgamz if invlrevcrp_CAm071~=.
    reg lrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
    lannxt lannxtsq lrlanxtsq lpkgamz
    * Store results
    mat coef=get(_b)
    *Export to matlab
    matwrite using "Z:\Thesis\data needed for 2007\matlabfile", ///
    mat(coef) replace
    ...
Run Code Online (Sandbox Code Playgroud)

我使用Stata xml_tab将更多的成功导出到Excel,我可以将其导入到MATLAB中.但是,xml_tab给了我太多的信息.我想要导出的矩阵只是两个回归的估计系数,没有标签. xml_tab输出与回归相关的所有内容 - t统计量,p值,95%conf.间隔等,包括标签.以下是使用此方法的代码:

     *===============================
     * Regressions
     *===============================
     *Regression 1
     reg invlrevcrp_CAm071 lacres_CAm071 lrainm07 lrainm07sq ///
     lannxt lannxtsq lrlanxtsq pkgamz if invlrevcrp_CAm071~=.
     reg lrevcrp_CAm071 lacres_CAm071 lrainm07 …
Run Code Online (Sandbox Code Playgroud)

excel matlab export-to-excel stata

1
推荐指数
1
解决办法
1万
查看次数

stata odbc sqlfile

我试图从数据库(MS Access或SQL服务器)加载数据,odbc sqlfile似乎代码运行时出现任何错误,但我没有得到数据.我使用以下代码odbc sqlfile("sqlcode.sql"),dsn("mysqlodbcdata").注意,sqlcode.sql只包含sql声明SELECT.问题是相同的sql代码正在提供数据odbc load,exec(sqlstmt) dsn("mysqlodbcdata").任何人都可以建议我如何使用odbc sqlfile导入数据?这对我来说是一个很大的帮助.

谢谢乔伊

sql odbc stata

1
推荐指数
1
解决办法
4277
查看次数

使用do-file和本地宏

我在使用do带有本地宏的文件时在Stata中收到以下错误:

clear 
capture log close

sysuse auto,clear 
log using stata,text replace

local varlist  price mpg rep78 weight length
reg 'varlist'
local close
Run Code Online (Sandbox Code Playgroud)

产量

local varlist  price mpg rep78 weight length

reg 'varlist'
invalid name
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非常微不足道的问题,但我不确定这个错误来自何处.

请注意,当我使用全局宏时,我没有收到错误.

global-variables local-variables stata stata-macros

1
推荐指数
1
解决办法
1759
查看次数

如何编写最佳的数据聚合代码?

我有以下数据集(个人级别数据):

pid  year state income
1    2000  il    100
2    2000  ms    200
3    2000  al     30
4    2000  dc    400
5    2000  ri    205
1    2001  il    120
2    2001  ms    230
3    2001  al     50
4    2001  dc    400
5    2001  ri    235
.........etc.......
Run Code Online (Sandbox Code Playgroud)

我需要估算每个州每年的平均收入,and创建一个如下所示的新数据集:

state   year   average_income
ar      2000      150
ar      2001      200
ar      2002      250
il      2000      150
il      2001      160
il      2002      160
...........etc...............
Run Code Online (Sandbox Code Playgroud)

我已经有一个运行完全正常的代码(我有两个循环).但是,我想知道有没有更好的方式在Stata中像sql样式查询?

stata

1
推荐指数
1
解决办法
441
查看次数

用于观察子集的本地宏

我想为我的数据集的子集创建一个本地宏,以用于将来的回归(请参阅循环外的宏的一些用途部分).

我开始使用以下代码:

quietly reg y x1 x2 x3
local subset if e(sample)
list Unit `subset'
reg y x1 x2 if `subset'
Run Code Online (Sandbox Code Playgroud)

x3缺少值,因此在第一个reg命令中排除了一些观察值.list命令的输出确实表明宏的内容确实是我想要的(Unit是一个标识观察的变量).

不过,我在最后一个命令后收到一条错误消息:

if not found
r(111);
Run Code Online (Sandbox Code Playgroud)

从以下信息r(111):

__________ 未找到;
没有变量定义;
该变量不存在.您可能输错了变量的名称.

我的语法有什么问题?也就是说,为什么Stata if作为变量处理?

stata stata-macros

1
推荐指数
2
解决办法
639
查看次数

如何使用旧回归中的存储e(b)进行预测

我知道可以得到如下预测值:

reg y x1 x2 x3
predict pred_values
Run Code Online (Sandbox Code Playgroud)

假设我进行回归并存储值:

reg y x1 x2
matrix stored_b = e(b)
Run Code Online (Sandbox Code Playgroud)

然后,我进行另一次回归(无论如何)。

是否可以使用predictusing命令stored_b代替当前命令e(b)

(当然,我可以通过基于手动计算预测值来生成预测值stored_b,但是如果系数很多,这可能会很乏味。)

regression predict stata

1
推荐指数
1
解决办法
846
查看次数

是否有命令快捷方式进入对话框?

Stata有这些对话框来配置命令(例如,"摘要统计") 摘要统计

有没有办法从命令提示符而不是从级联菜单直接跳转到这些框?

stata

1
推荐指数
1
解决办法
85
查看次数

将整个文件读入Stata宏变量?

我想打开一个文件"my_query.sql"并将该文件的整个文本读入一些宏变量x.

显然,我应该从以下内容开始:

file open myfile using my_query.sql
Run Code Online (Sandbox Code Playgroud)

但我的问题是,这file read myfile x不太正确,因为它只是读取第一行...

我最初的想法:

  • 也许有一种方法可以用二进制打开它并用一个命令读取整个内容?
  • 或者我是否需要进行一些黑客攻击,逐行读取文件并将字符串连接在一起?

stata

1
推荐指数
1
解决办法
321
查看次数

找到两个变量名称标量的并集

我有一个Stata程序,它输出一个空格分隔的变量名称的局部标量.

我有两个样品(两次一样运行程序dta)和工会(路口-出现在这两个标量变量名)存储为一个新的空间分隔的局部标(用于输入到另一个程序).

我无法弄清楚如何分割(每个空格)和/或测试每个变量名称的出现.

string local stata stata-macros

1
推荐指数
1
解决办法
42
查看次数

循环嵌套循环(在R或Stata中)

我有一个60个尺寸的嵌套循环,也就是说,我相互嵌套60个循环。在Stata中,MWE如下所示:

forvalues i = 1/60 {
    forvalues j = 1/60 {
        forvalues k = 1/60 {
            forvalues l = 1/60 {
                ... imagine the 56 remaining loops here
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

R中的等效项是:

for(i in 1:60) {
    for(j in 1:60) {
        for(k in 1:60) {
            for(l in 1:60) {
                ... imagine the 56 remaining loops here
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的目的是避免在我的代码中键入所有60个级别,而是为循环结构本身创建一个循环。这个问题显得微不足道。但是由于某种原因,我正在努力提出解决方案。

感谢您的任何建议。

附加信息:

我有一个包含60个解释变量的数据集,并希望对这些变量的每种可能组合进行回归分析。更具体地说,我分别对所有60个解释变量运行因变量的单变量回归并计算某些条件。然后,将第二个回归变量添加到估计方程中,然后再次计算标准。即reg DependentVar ExplVar1 ExplVar2reg DependentVar ExplVar1 ExplVar3,..., reg DependentVar ExplVar60 ExplVar59。取决于计算的标准,该回归树的分支可以提前,也可以终止。例如,第一个分支reg …

loops r nested-loops stata

1
推荐指数
1
解决办法
187
查看次数