在R

时间:2018-08-01 14:04:48

标签: r dataframe multidimensional-array

每个人都有一个数据框,显示为行。我想添加一列,该列将计算该雇员每年受雇的那一年的比例。我不想为每一年添加一列,而是要有一个新的变量Year,它将包含我的公式的结果。此变量的第一个元素是工作的第一年。我有25,000,000行,因此不能选择循环。让我们假设一个简单的示例,如下所示:

  age Sex   DateHire   DateLeft
1  45   M  6/30/1980 12/31/2006
2  37   F  6/25/1994        N/A
3  42   F 12/30/2015 12/30/2017

我希望我的输出看起来像这样。

Year Exposure   Expected_Death
 1    3         0.0046
 2    3         0.0058
 3    3         0.0071
 4    2         0.008 

暴露是给定年份的雇员数,其中Year1表示受雇的第一年。 Expected_Death <-暴露*概率_死亡

对于每个人,我想计算他们受雇后的下一个100年的暴露量。我还想从Excel文件中读取Probability_Death。

我想为每个人这样定义一个变量Exposure和Probability_Death

  age Sex   DateHire   DateLeft       Exposure       Prob_Death
    1  45   M  6/30/1980 12/31/2006   1 1 1 1 1 ...  0.0035 0.0041 ...
    2  37   F  6/25/1994        N/A   1 1 1 1 1 ... 0.0009 0.0014 ...
    3  42   F 12/30/2015 12/30/2017   1 1 1 0 0 ... 0.0002 0.0003 ...

“我的曝光”是根据雇用日期和DateLeft计算得出的。我该如何定义这样的计算变量,以便简单地通过将Exposure乘以Prob_Death来计算所有年份的预期死亡? 谢谢

0 个答案:

没有答案