如何解决有没有一种方法可以将Stata中的数据从单个观察结果例如经历事件的患者数量转换为许多观察结果?
我正在尝试有效地利用Stata来评估我们正在适应的模型中一部分患者发生不良事件的标准误。示例数据集:
n = 74
a = 56
b = 18
其中 n 是患者数量, a 是经历事件的患者数量,而 b 是未经历事件的数量
当数据采用这种格式时,我注意到使用
ratio myratio: a/n
返回比例(a / n),但不估计线性标准误差。手动将数据转换为“长”格式可解决此问题。长格式为:
No. observations = n (74)
n = 1 for all observations
a = 1 if index <= 18 else 0
b = 1 if index > 18 else 0
自从我使用Stata已经有一段时间了,有没有一种快速的方法来做到这一点?我什至不记得如何将数据集的长度扩展到样本数量 N !
解决方法
您可以使用立即命令cii
。这是两个简单的示例:
. cii proportions 54 18
-- Binomial Exact --
Variable | Obs Proportion Std. Err. [95% Conf. Interval]
-------------+---------------------------------------------------------------
| 54 .3333333 .06415 .2109199 .474745
. cii proportions 54 18,jeffreys
----- Jeffreys -----
Variable | Obs Proportion Std. Err. [95% Conf. Interval]
-------------+---------------------------------------------------------------
| 54 .3333333 .06415 .21884 .4651605
顺便说一句,您的示例方法是默认的“传统”方法经常无法正常工作的一种方法。我也支持jeffreys
或wilson
方法。请参见手册中的讨论和参考。
expand
命令可以帮助您转换为“长”格式。请查阅文档(help expand
)。在文档中,此示例似乎最不相关:
// load data
webuse stackxmpl,clear
// view original data
list
// Replace each observation with x copies of that observation,where x is the value of b for that observation (note that `b` is a variable in the dataset).
expand b
// List the results
list
您需要做的就是将包含n
的变量传递给expand
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。