我有以下data.table
:
DATE mb
1: May 2013 3
2: Apr 2014 2
3: Nov 2015 5
4: Nov 2014 3
5: Nov 2015 4
我想要DATE == 'Nov 2015'
,的行,如果只有它的前一行有DATE == 'Nov 2014'
。例如,第5行。
如果我mb[DATE=='Nov 2015']
我将获得 mb 值 5 和 4 (DATE = 2015年11月)。
所以,我尝试了以下内容:
mb[DATE=='Nov 2015'] | length(mb[DATE=='Nov 2015'])-1==(DATE=='Nov 2014')
但结果是NA
。
我不知道是否且仅当(我在这里使用' |')是否有效?
答案 0 :(得分:2)
您可以使用shift:
mb[DATE=='Nov 2015' & shift(DATE)=='Nov 2014']
当且仅当是AND(&
),而不是OR(|
)