I have following data frame:
a <- seq(1:14)
b <- c(0, 0, "start", 0, 0, 0, "end", 0, 0, "start", 0, "end", 0, 0)
df <- data.frame(a, b)
df
a b
1 0
2 0
3 start
4 0
5 0
6 0
7 end
8 0
9 0
10 start
11 0
12 end
13 0
14 0
现在,我想要做的是重新编码位于“start”和“end”之间的b中的值,使得:
df
a b
1 0
2 0
3 start
4 1
5 1
6 1
7 end
8 0
9 0
10 start
11 1
12 end
13 0
14 0
到目前为止,我还没有得到任何可行的代码。我尝试使用data.table
包中的which()
、between()
和inrange()
,但我无法真正弄清楚它们的用法。有什么想法可以解决这个问题吗?