对于以下问题,我想创建一个名为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))
有人知道如何解决吗?
谢谢