问题标签 [stata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3211 浏览

stata - 如何在Stata中转换日期?

我有一个格式如下的日期,我使用 R 将其从字符串转换为日期

我想在Stata中做,但是怎么做?我在Stata中试过这个:

但是不行,这是为什么呢?谢谢。

0 投票
1 回答
4731 浏览

stata - 如何在Stata的另一个ado文件中运行ado文件?

在 R 中,我可以使用运行另一个 R 脚本

我怎样才能在Stata中做同样的事情?

0 投票
9 回答
6769 浏览

stata - Stata 的替代 IDE

我习惯了 R-studio for R,它具有一些功能,例如通过按 来猜测您要输入的功能TAB

但是,我找不到任何适用于 Stata 的集成开发环境 (IDE)。

有吗?

0 投票
3 回答
3379 浏览

stata - 使用 Stata 从聚合中执行 Fisher 精确检验

我有一组数据如下:

它们是 ABCD 构成 2x2 表的聚合数据,我需要对每一行进行 Fisher 精确检验,并为该行的 Fisher 精确检验的 p 值添加一个新列。

我可以在 R 中使用fisher.exact和循环来执行此操作,但我在 Stata 中找不到用于 Fisher 精确测试的命令。

0 投票
3 回答
1650 浏览

python - 将代码从 vim 发送到外部应用程序以执行

我经常在工作中使用 stata。我选择的文本编辑器是 (g)vim。我一直在使用此处此处提供的脚本将代码从 vim 发送到 stata。这个功能非常实用,几乎是唯一让我无法完全切换到 linux 的东西。这些脚本是用 AutoIT 编写的,所以我不能在 linux 中使用它们。它们也基本上独立于文本编辑器的选择,编写它们的人使用的是记事本++。

本质上,这些脚本连同我的 vimrc 中的几行允许我将选择或整个文件发送到正在运行的 stata 窗口(如果没有打开,则首先启动 stata)。

我正在寻找在 linux 中执行此操作的解决方案,但我不知道从哪里开始。在 linux 中有两种不同的 stata 版本,stata 用于命令行,xstata 是 gui 版本。我需要使用 gui 版本,因为不幸的是命令行版本的功能有限,因此排除了 screen/tmux。

如果这是微不足道的,我真的很抱歉错过它,并且非常感谢您的解决方案。我也找不到可以使用的现有 vim 插件。如果没有,我愿意投入一些时间并弄清楚如何实施解决方案。然而,指向正确方向的指针会很有帮助。我对 linux 和一般编程比较陌生,但愿意学习。

关于工具:我不知道 bash,但无论如何我都想研究一下。我已经在 python 中涉足了一点,所以那也可以。如果还有其他绝对优于此任务的方法,请告诉我。

任何帮助是极大的赞赏。AutoIT 脚本托管在网站上,但如有必要,我可以在此处发布我的 Windows 设置。

编辑

好的,经过评论中的一些辩论,这是我需要翻译的基本 AutoIT 脚本。(我更喜欢每次都不会覆盖系统剪贴板内容的解决方案。)

Edit2 我猜这就是脚本本质上所做的:它检查打开的状态窗口,选择它(或执行一个),将要执行的内容粘贴到临时文件中,切换到状态窗口,选择命令行使用 ctrl-1(以及可能已经用 ctrl-a 编写的任何内容),然后将执行“tempfile”粘贴到命令行中,然后执行发送的代码。至少我是这么理解的。

最后的评论

前段时间我在 bash 中制定了一个解决方案,它被发布在这里作为这个问题的先前版本的答案。

0 投票
1 回答
1270 浏览

r - 在 Logistic 回归中,Stata 和 R 结果与两个分类预测变量及其交互作用不匹配

当我尝试比较 Stata 和 R 的结果时,我感到很困惑。我使用的是网页http://www.ats.ucla.edu/stat/stata/webbooks/logistic/chapter2/default.htm上给出的示例 首先在Stata中运行以下命令

然后使用部分(2.2.2 A 2 by 2 Layout with Main Effects and Interaction)中给出的以下命令

这两个命令将产生网页上给出的结果。

然后我使用了以下 R 代码来重现相同的示例

但结果不匹配!

R的数据文件可以从以下链接下载

https://spreadsheets.google.com/spreadsheet/ccc?key=0Ajt182RLsguldFlLQmd6Z1ZoczJCenJIdmREUkhxTFE&hl=en_US

注意:仅具有主效应的模型的结果是匹配的,但当我们包括交互作用时,它是不匹配的。

提前致谢。

0 投票
0 回答
438 浏览

netcat - 如何从压缩文件中读取 Stata 二进制格式

Stata 知识库包含一个关于从管道读取 ASCII 数据的注释,这将允许人们读取文件而无需将解压缩版本存储在磁盘上。我们从未使用那里显示的方法取得成功 - 我总是收到错误消息 mypipe.pip: not found。我们有数 TB 的数据压缩得非常好,所以这总是令人失望。我们很想知道它是否适用于其他任何人。

在对此进行调查时,我们发现了一种似乎更好的解决方法。与知识库建议不同,除了 ASCII 文件之外,它还可以处理 .dta 文件。这对我们来说非常有趣。这是通过 use命令的 http 选项完成的。

我们的第一个尝试是将文件 test.cgi 添加到我们的 webserverscgi-bin目录:

我们发现

可以从 Stata 工作,但这涉及到很多开销,因为文件在 LAN 上多次旋转,所以我们没有追求从 URL 中获取文件名或以其他方式使其实用。

我们正在开发一种替代方案,它不需要实际的网络服务器,甚至不需要 root 权限。这是通过 nc 命令完成的,该命令随大多数 Linux 发行版一起提供,也可用于 Windows。在 Stata 提示符下运行复合命令:

该命令设置计算机将标头和解压缩文件传输到从端口 8080 读取的第一个进程。由于 8080 是高端口,因此无需特殊权限即可使用它。在从该端口读取文件之前,此命令不会返回,届时它将向您显示确切的 Stata 请求。因为 & Stata 在 nc 等待时继续。然后

请注意,您不能使用“localhost”代替 127.0.0.1,因为该use命令不接受单部分主机名。

如果您的机器上没有 nc,请查找 ncat、netcat 或 socat。某些版本需要在端口号前加上“-p”。您可以在 Windows 机器上安装 nc 并且应该能够做同样的事情,但我们还没有尝试过。

这也可以用于 ascii 文件、加密文件、拆分文件,也许还有其他类型。如果只有 Stat/Transfer 会写入标准输出!

存在一个安全问题 - 您放弃了 Unix 权限位中的读取限制。它也比从磁盘读取未压缩文件要慢,但对我们来说仍然足够快。

我们一直在尝试将其打包成一个 ado 文件,但没有多大成功,因为用户友好的 ado 程序需要自己找到一个可用的端口,我们还没有看到一个好的方法来做到这一点,并进行通信又回到了use命令,对此我们也束手无策。我希望名单上的某个人可能会受到启发提出一种方法,或者 Statacorp 可能只是将解压缩合并到使用命令中。

丹尼尔·芬伯格 feenberg@nber.org

0 投票
2 回答
2006 浏览

mysql - 如何在Stata中按语句(来自MySQL)进行分组?

我不是统计员,但必须处理相当多的数据。在大多数情况下,这些数据集来自在线调查;因此我确实有一个 MySQL 数据库,并且知道如何从中获得一些结果。

但是,现在我得到了一个 Stata 文件,我需要做一些分析。在 MySQL 中,我知道如何做到这一点,但我被困在 Stata 中并寻求您的帮助。

我有一个不太小的表(大约 50k 行),其中包含以下列(有更多的列,但这些是我必须使用的):

id - 对象 ID,唯一值

name - 对象名称,字符串值

class - 对象类别,整数范围 1 - 6

origin - 对象的原点,整数范围 1 - 2

在 50k 行中,只有大约 7k 个不同的名称。在 Stata 中,我可以使用 检索所有名称,list name甚至可以使用list name if class == 2.

现在我想要一个所有不同名称的列表以及具有该名称的对象的数量,并让列表按 count 排序。在 MySQL 中,我会查询SELECT name, COUNT(*) AS cnt FROM objects GROUP BY name ORDER BY cnt DESC. 但是在Stata中如何做到这一点?

下一步将是为每个类或两个来源获取此类列表,即SELECT name, COUNT(*) AS cnt FROM objects WHERE class = 2 GROUP BY name ORDER BY cnt DESC,Stata 也可以吗?

ps:我不知道stackoverflow是否是正确的地方,因为Stata并不是真正的编程语言,是吗?但是我在这里发现了一些与Stata相关的问题;这就是为什么我把它贴在这里。如果有更好的地方这样做,请指出我正确的地方。

0 投票
2 回答
2004 浏览

r - R和Stata之间的合并命令比较

作为 R 用户,我现在正在使用merge资源学习 Stata,并且对命令感到困惑。

在 R 中,我不必担心错误地合并数据,因为它无论如何都会合并所有内容。如果公共列包含任何重复项,我无需担心,因为Y数据框将合并到数据框中的每个重复行X。(all=FALSE在 中使用merge

X但是对于 Stata,我需要在继续合并之前删除重复的行。

在 Stata 中是否假设,为了merge继续,主表中的公共列必须是唯一的?

0 投票
1 回答
4015 浏览

sql - 与 SQL GROUP BY 中的两个或多个变量的 Stata 分组

在 SQL 中,可以对多个变量进行分组:

我们得到的是一个表,其中 b 的级别嵌套在 a 的级别中。

如何在 Windows 中使用 Stata a) 输出执行此操作?b)存储为文件?