【发布时间】:2014-08-16 05:05:31
【问题描述】:
我有一年中每个月的受保人数据。所有变量都是虚拟变量,我需要创建一个新变量来显示一个人何时失去保险。我正在调用变量持续时间。我的数据集 (df) 如下所示:
ID 1 月 2 月 3 月 4 月 5 月 6 月 7 月 8 月 9 月 10 月 11 月 12 月
101 1 1 1 1 0 0 1 1 1 1 1 1
102 1 1 1 1 0 0 0 0 0 0 0 0
103 1 1 1 1 1 1 1 1 1 1 1 1
104 1 1 1 1 0 1 1 0 1 1 1 1
在数据集中,1 已投保,0 未投保。当人从 1 变为 0 时,我的新变量将具有 col 位置。例如,在第一行中,我的变量持续时间将具有值 5五月。我只对 0 的第一个实例感兴趣。例如,在第 4 行中,我只需要 5 即可,可以忽略八月。此外,如果该人没有像 103 的情况那样变得没有保险,那么新变量的值将是“0”。
我开始使用下面的 ifelse 语句,但我需要很长时间才能不断重复它。如果您对此有更简单的解决方案,请分享。谢谢!
df$duration=ifelse(df$feb==1,0,2)
【问题讨论】:
标签: r conditional