Stata 使用相同ID对观察结果进行分组

Stata 使用相同ID对观察结果进行分组,stata,stata-macros,Stata,Stata Macros,我参加了一个项目,在该项目中,数据集将患者信息和疾病观察分开,但这两个观察具有相同的ID。例如: ID:12345患者年龄:23,患者体重:55,患者身高:180 ID:12345疾病进展:A,疾病类型:abc,疾病风险:50 每个病人都会这样 现在我想做一些统计,就我所知,我必须在一次观察中整合这些信息,所以我们在一次观察中有患者特征和他们的疾病特征。最好的方法是什么?请记住,这两个观测值具有相互排斥的变量,因此它们可以简单地以某种方式进行“分组” 基本上,我的问题可以通过以下方法解决(假设此

我参加了一个项目,在该项目中,数据集将患者信息和疾病观察分开,但这两个观察具有相同的ID。例如:

ID:12345患者年龄:23,患者体重:55,患者身高:180

ID:12345疾病进展:A,疾病类型:abc,疾病风险:50

每个病人都会这样

现在我想做一些统计,就我所知,我必须在一次观察中整合这些信息,所以我们在一次观察中有患者特征和他们的疾病特征。最好的方法是什么?请记住,这两个观测值具有相互排斥的变量,因此它们可以简单地以某种方式进行“分组”

基本上,我的问题可以通过以下方法解决(假设此语法正确):


然后只需对其进行1000秒的迭代观察..

假设您已经加载了这两个数据集。 第一个数据集称为dataset1。 第二个数据集称为dataset2。 您的ID属性称为ID

然后您可以在id上调用合并它们

use dataset1, clear
merge id using dataset2

假设每个标识符最多由2个观察值表示,并且每个其他变量都是数字,并且最多由1个观察值中的一个非缺失值表示,则您可以只
折叠
。默认的
折叠方法应该可以正常工作

ds record_id, not
collapse `r(varlist)' , by(record_id)

更谨慎的方法是先检查假设

请使用
dataex
给出一个数据示例。有关说明,请参阅Stata tag wiki或12.2。我尝试过使用它,但以前从未使用过,对吗?仔细看。由于
dataex
帮助
解释了标记
[code]
[/code]
是针对statist的,需要在其他地方忽略,尤其是在Stata中。谢谢。有时额外的字符串变量应该添加到
by()
选项中。但这取决于……只有一个数据集。我需要合并观察值,而不是数据集。这是
折叠
而不是
合并
的问题。很快我会发布一个答案。不幸的是,一些标识符由几个观察值表示,在1到5之间变化。创建数据集时,将患者分为1组观察,然后根据所述患者的动脉瘤数量,将其分为单独的独家观察(取决于动脉瘤的性质),但ID相同。你能想出一种仍然可以解决这个问题的方法吗?让我知道,我会编辑掉敏感信息,并为你发布一个数据集示例。你的评论与你的问题和数据示例相矛盾,这两种方法都意味着每个标识符最多2次观察。从表面上看,只要不同观测值中的值不相互冲突,
折叠
解决方案仍然可以正常工作。有些变量是字符串(标识符也是)。有没有办法绕过它,或者我必须手动删除或替换每个字符串变量?谢谢Nick,您的解决方案确实有效。我只需要把它清理干净一点,让它完全符合我的数据。
use dataset1, clear
merge id using dataset2
ds record_id, not
collapse `r(varlist)' , by(record_id)