【发布时间】:2016-01-01 20:49:54
【问题描述】:
这些是我的示例数据:
dt <- data.table(id=c("a","a","a","a","b","b"), monthsinarrears=c(0,1,0,0,1,0), date=c(2013,2014,2015,2016,2014,2015))
表格如下所示:
> dt
id monthsinarrears date
1: a 0 2013
2: a 1 2014
3: a 0 2015
4: a 0 2016
5: b 1 2014
6: b 0 2015
现在我想创建一个名为“EverinArrears”的附加列,如果 id 曾经(历史上)拖欠,则该列将分配为“1”,如果不是,则分配为“0”。因此我想要获得的输出是:
id monthsinarrears date EverinArrears
1: a 0 2013 0
2: a 1 2014 1
3: a 0 2015 1
4: a 0 2016 1
5: b 1 2014 1
6: b 0 2015 1
请注意,贷款 ID a 在 2013 年历史上没有拖欠(这发生在 2014 年),这就是为什么 EverinArrear 在 2013 年也得到 0 的原因。
【问题讨论】:
-
您的结果与您提供的数据不符!
-
为什么?我只是想根据我提供的第一个表和我提供的条件添加这个额外的列 EverinArrears。
-
看看你最初的 dt,你写了什么......这完全不同,即使你的问题总体上是可以理解的 ;)
-
@ColonelBeauvel 你是对的!我没有注意到这一点,但我看到问题已正确更新。
标签: r sum conditional data.table