当且仅当R中的条件如何使用?

时间:2016-03-18 09:18:19

标签: r data.table

我有以下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

我不知道是否且仅当(我在这里使用' |')是否有效?

1 个答案:

答案 0 :(得分:2)

您可以使用shift:

mb[DATE=='Nov 2015' & shift(DATE)=='Nov 2014']

当且仅当是AND(&),而不是OR(|