【问题标题】:How to create a variable taking value X+1 if an event doesn't occur in X periods?如果事件未在 X 周期内发生,如何创建取值 X+1 的变量?
【发布时间】:2017-10-21 05:12:39
【问题描述】:

如果某个事件在 X 个时间段内未发生,我如何创建一个取值 X+1 的新变量?

具体来说,我有很多人 12 年的数据。对于一个问题,他们可以回答是(1)或否(0)。我关心有人在 12 年内第一次说“是”并创建了一个变量,该变量取“是”回复的年数的值。

但如果有人在 12 年内回答否,我将该变量的值设置为 13。但我不知道该怎么做。

by hhidpn (wave), sort: gen byte EarlyHeart = sum(rhearte) == 1
gen EarlyHeart1=year if EarlyHeart==1
(what's next?)

【问题讨论】:

  • 但我不需要所有缺失值都等于 13,我只需要 13 在我看到所有 12 年的答案 NO 的地方(即 sum(rhearte) 始终为 0)
  • 对不起,我删除了我的评论,这是错误的。
  • by hhidpn: egen first1 = min(EarlyHeart1) 然后by hhidpn: rep first1=13 if first1==.
  • 不,这是因为我从一开始就解释不好......它仍然不起作用威廉:(
  • 非常感谢威廉,我找到了办法。我现在将删除此主题:)

标签: stata dummy-variable recode


【解决方案1】:

如果一个人的最后一个累积总和是 0,那么他们都是。

by hhidpn (wave), sort: gen byte EarlyHeart = sum(rhearte) == 1
by hhidpn : replace EarlyHeart = 13 if EarlyHeart[_N] == 0 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 2018-03-24
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    相关资源
    最近更新 更多