一种变量,表示在一段时间内到目前为止记录的另一变量中所获得的最高值 [英] variable showing the highest value attained of another variable, recorded so far, over time

查看:10
本文介绍了一种变量,表示在一段时间内到目前为止记录的另一变量中所获得的最高值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个随时间变化的患者数据集及其与酒精相关的患者数据(以年为单位),如下所示

clear
input long patid float(year cohort)
1051 1994 1
2051 1972 1
2051 1989 2
2051 1990 2
2051 2000 2
2051 2001 3
2051 2002 1
2051 2003 2
8051 1995 1
8051 1996 1
8051 2003 1
end
label values cohort cohortlab
label define cohortlab 0 "general population" 1 "no alcohol data" 2 "indeterminate" 3 "non-drinker" 4 "low_risk" 5 "hazardous" 6 "AUD" , replace

我想创建一个变量来显示到目前为止在患者记录中的任何(一年)点使用的最高级别的酒精代码,这样数据集将如下所示:

clear
input long patid float(year cohort highestsofar)
1051 1994 1 1
2051 1972 1 1
2051 1989 2 2
2051 1990 2 2
2051 2000 2 2
2051 2001 3 3
2051 2002 1 3
2051 2003 2 3
8051 1995 1 1
8051 1996 1 1
8051 2003 1 1
end
label values cohort cohortlab
label values highestsofar cohortlab
label define cohortlab 0 "general population" 1 "no alcohol data" 2 "indeterminate" 3 "lifetime_abstainer" 4 "low_risk" 5 "hazardous" 6 "AUD" , replace

推荐答案

感谢您的清晰示例和问题。

该问题已在StataCorp网站上的FAQlink here中涵盖。以下是使用来自SSC的rangestat的一行解决方案。

clear
input long patid float(year cohort)
1051 1994 1
2051 1972 1
2051 1989 2
2051 1990 2
2051 2000 2
2051 2001 3
2051 2002 1
2051 2003 2
8051 1995 1
8051 1996 1
8051 2003 1
end
label values cohort cohortlab
label define cohortlab 0 "general population" 1 "no alcohol data" 2 "indeterminate" 3 "non-drinker" 4 "low_risk" 5 "hazardous" 6 "AUD" , replace

rangestat (max) highestsofar = cohort, interval(year . 0) by(patid) 

list, sepby(patid) 

     +-------------------------------------------+
     | patid   year            cohort   highes~r |
     |-------------------------------------------|
  1. |  1051   1994   no alcohol data          1 |
     |-------------------------------------------|
  2. |  2051   1972   no alcohol data          1 |
  3. |  2051   1989     indeterminate          2 |
  4. |  2051   1990     indeterminate          2 |
  5. |  2051   2000     indeterminate          2 |
  6. |  2051   2001       non-drinker          3 |
  7. |  2051   2002   no alcohol data          3 |
  8. |  2051   2003     indeterminate          3 |
     |-------------------------------------------|
  9. |  8051   1995   no alcohol data          1 |
 10. |  8051   1996   no alcohol data          1 |
 11. |  8051   2003   no alcohol data          1 |
     +-------------------------------------------+

这篇关于一种变量,表示在一段时间内到目前为止记录的另一变量中所获得的最高值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆