楼主: fuyong214
4860 7

[数据管理求助] 如何统计持续时间长度?  关闭 [推广有奖]

  • 1关注
  • 3粉丝

大专生

56%

还不是VIP/贵宾

-

威望
0
论坛币
260 个
通用积分
82.0663
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
270 点
帖子
29
精华
0
在线时间
63 小时
注册时间
2005-5-26
最后登录
2021-8-31

楼主
fuyong214 发表于 2017-5-6 23:09:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助,生存分析如何统计持续时间,例子如下:

上图中,0表示当年没有出口,1表示当年有出口,持续出口的年份称为时间段,每个产品可能有多个持续出口的时间段,例如,产品C中,有2个持续时间段,其中第一个时间段有4年,第2个时间段有1年,我的问题是,有什么方法可以算出每个产品有多少个时间段?每个时间段各有多少年?

因为有十几万条数据,用Excel操作很卡顿,所以求助大神,如何在stata中实现?


二维码

扫码加我 拉你入群

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

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

关键词:持续时间 用excel Stata EXCEL tata

沙发
黃河泉 在职认证  发表于 2017-5-7 07:53:23
1. 你举的例子产品C说明似乎有误!2. 请将完整之预期答案也说明清楚,例如产品A应该有第三段持续次数吧?3. 最重要的,请将 Stata 中之资料,用 dataex (先 ssc install dataex 并见说明) 将原始Stata资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。 我会帮你 post 到美国 Stata 论坛去寻求解答!

藤椅
夏目贵志 发表于 2017-5-7 09:22:52
看不到图。。。

板凳
fuyong214 发表于 2017-5-7 17:18:59
黃河泉 发表于 2017-5-7 07:53
1. 你举的例子产品C说明似乎有误!2. 请将完整之预期答案也说明清楚,例如产品A应该有第三段持续次数吧?3. ...
你好,谢谢你提醒,我举的例子应该是产品D的情况,至于产品A,它确实有三段,我只是没有全部列出来。
下面是我的数据:
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=5576848&extra=

报纸
fuyong214 发表于 2017-5-7 17:19:20
夏目贵志 发表于 2017-5-7 09:22
看不到图。。。
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=5576848&extra=

地板
黃河泉 在职认证  发表于 2017-5-8 10:04:09
fuyong214 发表于 2017-5-7 17:18
你好,谢谢你提醒,我举的例子应该是产品D的情况,至于产品A,它确实有三段,我只是没有全部列出来。
下 ...
假设资料如下:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str2 id float(m1995 m1996 m1997 m1998 m1999 m2000 m2001 m2002 m2003 m2004)
  4. "A" 0 1 1 1 0 1 1 0 1 1
  5. "B" 0 0 0 1 1 1 0 1 . .
  6. "C" 0 1 1 1 1 1 0 1 1 0
  7. "D" 0 1 1 1 1 0 0 0 1 0
  8. end
复制代码

7
黃河泉 在职认证  发表于 2017-5-8 10:05:44
fuyong214 发表于 2017-5-7 17:18
你好,谢谢你提醒,我举的例子应该是产品D的情况,至于产品A,它确实有三段,我只是没有全部列出来。
下 ...
我已经 post 解答(现在审核中),若未看到,请再与我联络!

8
黃河泉 在职认证  发表于 2017-5-8 11:07:26
fuyong214 发表于 2017-5-7 17:18
你好,谢谢你提醒,我举的例子应该是产品D的情况,至于产品A,它确实有三段,我只是没有全部列出来。
下 ...
作法为 (Clyde Schechter 建议的)
  1. //    SAVE A COPY OF THE ORIGINAL DATA
  2. tempfile copy
  3. save `copy'

  4. //    GO LONG
  5. reshape long m, i(id) j(_j)
  6. // IDENTIFY SPELLS OF CONSECUTIVE REPEATS AND CALCULATE LENGTH
  7. by id (_j), sort: gen spell = sum(m != m[_n-1])
  8. by id spell (_j), sort: gen c = _N
  9. //    PRESERVE ONLY SPELLS OF ONES
  10. drop if m == 0 | missing(m)
  11. //  GO TO ONE OBSERVATION PER SPELL   
  12. by id spell: keep if _n == 1
  13. //    NUMBER THEM SEQUENTIALLY
  14. by id: replace _j = _n
  15. //    CLEAN UP AND RETURN TO WIDE
  16. drop spell m
  17. reshape wide c, i(id) j(_j)
  18. merge 1:m id using `copy'
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 2 + 2 + 2 精彩帖子

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

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

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