【发布时间】:2017-01-23 17:06:55
【问题描述】:
如何在组内发生更改时增加列?
示例数据表:
library(data.table)
dt = data.table(id = c(1,1,1,1,2,2), loc = c(1,1,1,2,1,1), var = c("N","Y","N","N","N","N"))
id loc var
1: 1 1 N
2: 1 1 Y
3: 1 1 N
4: 1 2 N
5: 2 1 N
6: 2 1 N
我想按 id 和 loc 分组,每当列 var 发生变化时,我想将 1 添加到新列。
期望的输出:
id loc var V2
1: 1 1 N 1
2: 1 1 Y 2
3: 1 1 N 3
4: 1 2 N 1
5: 2 1 N 1
6: 2 1 N 1
【问题讨论】:
-
不是重复的。使用 .grp 将添加
v2 = c(1,1,1,2,3) -
@Kristofersen stackoverflow.com/q/27959280 怎么样?嗯,不确定是否适合...
-
@Frank 是的,那个是一样的。我搜索的时候没有找到。我应该删除问题吗?
-
不,我认为应该保留它并标记为骗子。您的标题和示例很明确,而杜绝欺骗只会使您的帖子成为其他人的路标。
-
@Frank 谢谢,我去看看。
标签: r data.table