问题标签 [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.
stata - 如何在Stata中转换日期?
我有一个格式如下的日期,我使用 R 将其从字符串转换为日期
我想在Stata中做,但是怎么做?我在Stata中试过这个:
但是不行,这是为什么呢?谢谢。
stata - 如何在Stata的另一个ado文件中运行ado文件?
在 R 中,我可以使用运行另一个 R 脚本
我怎样才能在Stata中做同样的事情?
stata - Stata 的替代 IDE
我习惯了 R-studio for R,它具有一些功能,例如通过按 来猜测您要输入的功能TAB。
但是,我找不到任何适用于 Stata 的集成开发环境 (IDE)。
有吗?
stata - 使用 Stata 从聚合中执行 Fisher 精确检验
我有一组数据如下:
它们是 ABCD 构成 2x2 表的聚合数据,我需要对每一行进行 Fisher 精确检验,并为该行的 Fisher 精确检验的 p 值添加一个新列。
我可以在 R 中使用fisher.exact
和循环来执行此操作,但我在 Stata 中找不到用于 Fisher 精确测试的命令。
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 中制定了一个解决方案,它被发布在这里作为这个问题的先前版本的答案。
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的数据文件可以从以下链接下载
注意:仅具有主效应的模型的结果是匹配的,但当我们包括交互作用时,它是不匹配的。
提前致谢。
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
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相关的问题;这就是为什么我把它贴在这里。如果有更好的地方这样做,请指出我正确的地方。
r - R和Stata之间的合并命令比较
作为 R 用户,我现在正在使用此merge
资源学习 Stata,并且对命令感到困惑。
在 R 中,我不必担心错误地合并数据,因为它无论如何都会合并所有内容。如果公共列包含任何重复项,我无需担心,因为Y
数据框将合并到数据框中的每个重复行X
。(all=FALSE
在 中使用merge
)
X
但是对于 Stata,我需要在继续合并之前删除重复的行。
在 Stata 中是否假设,为了merge
继续,主表中的公共列必须是唯一的?
sql - 与 SQL GROUP BY 中的两个或多个变量的 Stata 分组
在 SQL 中,可以对多个变量进行分组:
我们得到的是一个表,其中 b 的级别嵌套在 a 的级别中。
如何在 Windows 中使用 Stata a) 输出执行此操作?b)存储为文件?