我想在改变之前和之后跟踪LO_SEQ_NO。有什么方法可以跟踪状态变化
loan_test$lse <-with(loan_test, as.integer(c(FALSE, LO_SEQ_NO[-length(LO_SEQ_NO)] - LO_SEQ_NO[-1]) !=0))
退出
"LO_SEQ_NO lse
358 0
478 1
478 0
478 0
478 0
但我需要输出
"LO_SEQ_NO lse
358 1
478 1
478 0
478 0
478 0
答案 0 :(得分:1)
尝试检查列的lag
和lead
:
df %>% mutate(
lse = as.integer(
LO_SEQ_NO != lag(LO_SEQ_NO, default=first(LO_SEQ_NO)) |
LO_SEQ_NO != lead(LO_SEQ_NO, default=last(LO_SEQ_NO))
)
)
# LO_SEQ_NO lse
#1 358 1
#2 478 1
#3 478 0
#4 478 0
#5 478 0