我有原始数据,如下所示 -
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)