有条件地更新data.table中的单元格

时间:2019-02-08 18:11:47

标签: r data.table

我有一个季度观察的数据表,我想将其与医疗补助扩展相关。为此,我想在data.table(expanded_medicaid)中设置一个变量,如果状态对其进行了扩展,则该变量为1,否则为0。我还有另一个带有扩展日期的data.table。

例如,我的主要数据表如下:

state_name  qtr     ...data columns
Alabama     2008 Q1  
Alabama     2008 Q2
...
Alaska      2008 Q1
Alaska      2008 Q2
... etc

另一个数据表具有展开日期

state_name    qtr
Alaska        2015 Q1
Arizona       2014 Q1
Arkansas      2014 Q1
... etc

如果qtr> =第二个data.table中该州的qtr,是否可以使用一种整洁的方式创建列expanded_medicaid为1? (这似乎是sapply的工作,但我从未正确理解sapply的工作原理。)

编辑:理想的结果是主表看起来像这样:

state_name   qtr      expanded_medicaid   ...data columns
...
Alaska       2013 Q3  0
Alaska       2013 Q4  0
Alaska       2014 Q1  0
Alaska       2014 Q2  0
Alaska       2014 Q3  0
Alaska       2014 Q4  0
Alaska       2015 Q1  1
Alaska       2015 Q2  1
...
Arizona      2013 Q3  0
Arizona      2013 Q4  0
Arizona      2014 Q1  1
Arizona      2014 Q2  1
Arizona      2014 Q3  1
Arizona      2014 Q4  1
Arizona      2015 Q1  1
Arizona      2015 Q2  1
...

1 个答案:

答案 0 :(得分:1)

您可以将data.tablezoo的{​​{1}}函数结合起来以比较四分之一

as.yearqtr()