1682 11

[编程问题求助] 求问如何把0-1面板变量变成生存分析变量? [推广有奖]

  • 0关注
  • 2粉丝

已卖:5份资源

讲师

74%

还不是VIP/贵宾

-

威望
0
论坛币
2032 个
通用积分
205.0316
学术水平
22 点
热心指数
29 点
信用等级
18 点
经验
4433 点
帖子
186
精华
0
在线时间
987 小时
注册时间
2016-12-24
最后登录
2025-3-31

楼主
我是工作狂2009 发表于 2021-1-14 21:27:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想要计算1的持续期,如何转换呢?
似乎要进行KM分析需要一个截面数据。
一般假设是各持续段是不相关的。

数据如下:

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year float down
  4. 2001 0
  5. 2002 1
  6. 2003 0
  7. 2004 0
  8. 2005 1
  9. 2006 1
  10. 2007 1
  11. 2008 0
  12. 2009 1
  13. 2010 0
  14. 2011 0
  15. 2012 1
  16. 2013 1
  17. 2014 0
  18. 2015 1
  19. 2016 1
  20. 2017 0
  21. 2018 1
  22. end
复制代码



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:生存分析 generated generate install example

回帖推荐

zdlspace 发表于4楼  查看完整内容

你要的是这种效果吗?

沙发
我是工作狂2009 发表于 2021-1-14 21:28:59
按照逻辑,最终数据格式应该如下:


* Example generated by -dataex-. To install: ssc install dataex

clear
input int year float down byte downmax
2001 0 .
2002 1 1
2003 0 .
2004 0 .
2005 1 .
2006 1 .
2007 1 3
2008 0 .
2009 1 1
2010 0 .
2011 0 .
2012 1 .
2013 1 2
2014 0 .
2015 1 .
2016 1 2
2017 0 .
2018 1 1
end

藤椅
我是工作狂2009 发表于 2021-1-14 21:31:32
按照上述数据,样本期内有6个持续段,分别持续了2002(1年)、2005-2007(3年)、2009(1年)、2012-2013(2年)、2015-2016(2年)、2018(1年)。

板凳
zdlspace 学生认证  发表于 2021-1-15 16:28:18
你要的是这种效果吗?
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year float down
  4. 2001 0
  5. 2002 1
  6. 2003 0
  7. 2004 0
  8. 2005 1
  9. 2006 1
  10. 2007 1
  11. 2008 0
  12. 2009 1
  13. 2010 0
  14. 2011 0
  15. 2012 1
  16. 2013 1
  17. 2014 0
  18. 2015 1
  19. 2016 1
  20. 2017 0
  21. 2018 1
  22. end

  23. spell down,cond(down==1)
  24. bys  _spell  :egen wanted=max(_seq*_end)
  25. sort year down

  26. . list

  27.      +---------------------------------------------+
  28.      | year   down   _seq   _spell   _end   wanted |
  29.      |---------------------------------------------|
  30.   1. | 2001      0      0        0      0        0 |
  31.   2. | 2002      1      1        1      1        1 |
  32.   3. | 2003      0      0        0      0        0 |
  33.   4. | 2004      0      0        0      0        0 |
  34.   5. | 2005      1      1        2      0        3 |
  35.      |---------------------------------------------|
  36.   6. | 2006      1      2        2      0        3 |
  37.   7. | 2007      1      3        2      1        3 |
  38.   8. | 2008      0      0        0      0        0 |
  39.   9. | 2009      1      1        3      1        1 |
  40. 10. | 2010      0      0        0      0        0 |
  41.      |---------------------------------------------|
  42. 11. | 2011      0      0        0      0        0 |
  43. 12. | 2012      1      1        4      0        2 |
  44. 13. | 2013      1      2        4      1        2 |
  45. 14. | 2014      0      0        0      0        0 |
  46. 15. | 2015      1      1        5      0        2 |
  47.      |---------------------------------------------|
  48. 16. | 2016      1      2        5      1        2 |
  49. 17. | 2017      0      0        0      0        0 |
  50. 18. | 2018      1      1        6      1        1 |
  51.      +---------------------------------------------+
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
我是工作狂2009 + 5 + 1 + 1 + 1 热心帮助其他会员

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
我是工作狂2009 发表于 2021-1-15 16:39:02
zdlspace 发表于 2021-1-15 16:28
你要的是这种效果吗?
谢谢,只需要在您的基础上加上一行代码就是最终想要的了!万分感谢!

地板
zdlspace 学生认证  发表于 2021-1-15 16:40:06
你要的那个更简单一点:
  1. *或者
  2. clear
  3. input int year float down
  4. 2001 0
  5. 2002 1
  6. 2003 0
  7. 2004 0
  8. 2005 1
  9. 2006 1
  10. 2007 1
  11. 2008 0
  12. 2009 1
  13. 2010 0
  14. 2011 0
  15. 2012 1
  16. 2013 1
  17. 2014 0
  18. 2015 1
  19. 2016 1
  20. 2017 0
  21. 2018 1
  22. end

  23. spell down,cond(down==1)
  24. gen wanted2=_seq*_end
  25. mvdecode wanted2,mv(0)      //或者replace wanted2=. if wanted2==0,我只是为了多用mvencode才用的,看上去高大上一点,哈哈
复制代码

7
我是工作狂2009 发表于 2021-1-15 16:41:07
zdlspace 发表于 2021-1-15 16:40
你要的那个更简单一点:
感谢!太赞了!

8
zdlspace 学生认证  发表于 2021-1-15 16:43:41
我是工作狂2009 发表于 2021-1-15 16:41
感谢!太赞了!
一般很多人要求更高一点,需要第一种效果,比较麻烦一点。不过你预期的效果好做多了

9
我是工作狂2009 发表于 2021-1-15 16:47:01
zdlspace 发表于 2021-1-15 16:43
一般很多人要求更高一点,需要第一种效果,比较麻烦一点。不过你预期的效果好做多了
第一次接触这个spell外部命令,真是强大的工具!

10
zdlspace 学生认证  发表于 2021-1-15 16:48:18
我是工作狂2009 发表于 2021-1-15 16:47
第一次接触这个spell外部命令,真是强大的工具!
多逛逛论坛,我们的论坛大神黄河泉老师经常推荐此命令

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-15 05:08