如何跟踪序列变化?

时间:2017-11-07 19:02:25

标签: r dplyr apply

我想在改变之前和之后跟踪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

1 个答案:

答案 0 :(得分:1)

尝试检查列的laglead

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