基于行位置的IF语句

时间:2017-10-08 07:10:48

标签: r dplyr data.table

我有原始数据,如下所示 -

Name  Index Flag
Open    1   1
1       1   1
2       1   1
Closure 1   2
1       1   2
Closure 2   1
1       2   1
2       2   1
Closure 2   2
Open    3   1
1       3   1
Closure 3   2

我想要"标志"要根据' name'创建的变量变量。通过Index变量的唯一值,如果Name =" Open"我希望flag为1。保留1直到name ="关闭"然后返回2.但是有一个扭曲 - 如果(任何值或" Closure")在索引变量的开始处,它应该返回1. 在上面的例子中,引用第6到9行到了解问题。上表可以使用下面的代码重现 -

data = read.table(text="
Name    Index
'Open'  1
                  1 1
                  2 1
                  'Closure' 1
                  1 1
                  'Closure' 2
                  1 2
                  2 2
                  'Closure' 2
                  'Open'    3
                  1 3
                  'Closure' 3

                  ", header=TRUE)

0 个答案:

没有答案