0 r cluster-computing uniqueidentifier
我是R编程的新手(我一生都在SAS编程),我认为这是一个我无法找到答案的基本问题(找到了类似问题的答案,但没有找到答案).
想象一下,我们有一个二进制变量(我们称之为"v1"),它的值可以是0或1.我想创建一个新变量(我们称之为"v2"),它取值为每次出现1的新值或在0之后出现1s的字符串时,都会显示一个唯一的集群ID.最后,我想从v1创建"v2",如下所示:
Obs v1 v2
1 0 NA
2 0 NA
3 1 1
4 1 1
5 0 NA
6 1 2
7 0 NA
8 1 3
9 1 3
10 1 3
11 0 NA
12 1 4
Run Code Online (Sandbox Code Playgroud)
如果有人能够对此有所了解,我将非常感激.非常感谢.
这样就可以了.它将组设置为等于v1值中增加数量1的累积和,然后将0设置回NA.
df$v2 <- cumsum(c(df$v1[1]==1,diff(df$v1)==1))
df$v2[df$v1==0] <- NA
Run Code Online (Sandbox Code Playgroud)