一起使用sd()函数和lag()函数创建变量

时间:2019-06-17 21:54:53

标签: r dplyr data.table

对于以下问题,我想创建一个名为VOL_ROA的变量,它是变量ROA从时间段t-2到t的标准偏差。我应该为每个“ TICKER”变量创建一个变量,这意味着我想使用group_by(TICKER)然后创建变量。

这是数据-

   TICKER year         ROA
1     AIR 1999   8.2278464
2     AIR 2000   6.6836888
3     AIR 2001   2.8809411
4     AIR 2002 -13.8311938
5     AIR 2003  -2.8385383
6     AIR 2004   0.2406625
7     AIR 2005   2.9552190
8     AIR 2006   4.6480504
9     AIR 2007   8.1883007
10    AIR 2008   8.5232854
11    AIR 2009   8.7047581
12    AIR 2010   4.2762294
13    AIR 2011   6.3685673
14    AIR 2012   4.2588241
15    AIR 2013   3.8466938
16    AIR 2014   4.7874517
17    AIR 2015  -5.4785479
18    AIR 2016   4.1120588
19    AIR 2017   4.9398311
20    ABT 1999  23.5289728
21    ABT 2000  25.0235127
22    ABT 2001   8.1563938
23    ABT 2002  15.2166102
24    ABT 2003  14.0197232
25    ABT 2004  14.3794242
26    ABT 2005  15.8844506
27    ABT 2006   6.3142217
28    ABT 2007  11.2772739
29    ABT 2008  13.8222443
30    ABT 2009  13.7375771
31    ABT 2010   9.6226303
32    ABT 2011   8.6411919
33    ABT 2012   9.3323704
34    ABT 2013   5.8994715
35    ABT 2014   6.1320412
36    ABT 2015   7.7581400
37    ABT 2016   2.7209205
38    ABT 2017   2.9586885

我使用以下代码,但不起作用

df <- df %>% 
  group_by(TICKER) %>% 
  mutate (VOL_ROA = sd (lag(ROA, 2): ROA))

有人知道如何解决吗?

谢谢

0 个答案:

没有答案