r - 计算每家公司每年名义变化的问题
问题描述
我想计算每个公司(isin)从 t 年到 t+1 年的规模和 roa 变化。
我尝试以下代码,但所有观察结果都为 0:
df3 <- totassetprice %>%
group_by(isin) %>%
arrange((year), .by_group = TRUE) %>%
summarise(year,deltsize = (size - lag(size)), deltroa=(roa-lag(roa)))
isin year size roa
1 JP3304200003 2009 9.617923 0.12711757
2 JP3304200003 2010 9.649482 0.08083183
3 JP3304200003 2011 9.811475 0.14535881
4 JP3304200003 2012 9.952205 0.14929742
5 JP3304200003 2013 9.944886 0.11951592
6 JP3304200003 2014 9.833800 0.12361346
输出
isin year deltsize deltroa
<chr> <int> <dbl> <dbl>
1 DE0005008007 2009 0 0
2 DE0005008007 2010 0 0
3 DE0005008007 2011 0 0
4 DE0005008007 2012 0 0
5 DE0005008007 2013 0 0
6 DE0005008007 2014 0 0
解决方案
您可以使用lag
获取与上一行相比的差异:
library(tidyverse)
data <- tribble(
~id, ~isin, ~year, ~size, ~roa,
1, "JP3304200003", 2009, 9.617923, 0.12711757,
2, "JP3304200003", 2010, 9.649482, 0.08083183,
3, "JP3304200003", 2011, 9.811475, 0.14535881,
4, "JP3304200003", 2012, 9.952205, 0.14929742,
5, "JP3304200003", 2013, 9.944886, 0.11951592,
6, "JP3304200003", 2014, 9.833800, 0.12361346,
)
data
#> # A tibble: 6 x 5
#> id isin year size roa
#> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 1 JP3304200003 2009 9.62 0.127
#> 2 2 JP3304200003 2010 9.65 0.0808
#> 3 3 JP3304200003 2011 9.81 0.145
#> 4 4 JP3304200003 2012 9.95 0.149
#> 5 5 JP3304200003 2013 9.94 0.120
#> 6 6 JP3304200003 2014 9.83 0.124
data %>%
group_by(isin) %>%
arrange(year) %>%
mutate(
delta_size = size - lag(size),
delta_roa = roa - lag(roa)
)
#> # A tibble: 6 x 7
#> # Groups: isin [1]
#> id isin year size roa delta_size delta_roa
#> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 JP3304200003 2009 9.62 0.127 NA NA
#> 2 2 JP3304200003 2010 9.65 0.0808 0.0316 -0.0463
#> 3 3 JP3304200003 2011 9.81 0.145 0.162 0.0645
#> 4 4 JP3304200003 2012 9.95 0.149 0.141 0.00394
#> 5 5 JP3304200003 2013 9.94 0.120 -0.00732 -0.0298
#> 6 6 JP3304200003 2014 9.83 0.124 -0.111 0.00410
由reprex 包于 2021-11-09 创建(v2.0.1)
推荐阅读
- php - 布局不包括在 Laravel 的主文件中
- scala - 火花驱动程序如何将套接字对象传递给工作人员?
- java - 如何将 created_time 字段值从 Android Studio 中的 Instagram 媒体对象转换为日期
- json - 如何快速修复tableview自动高度?
- c# - 使用 C# 和 asp.net Web 应用程序单击“下一步”按钮后,变量不是增量的
- jquery - 需要添加删除按钮并仅在引导选项卡中删除选定的选项卡
- android - Room 和 LiveData 是否有解决错误?
- javascript - 如何检查多个选择框上的更改是否发生
- react-native - 尝试为名称“LottieAnimationView”注册 RCTBridgeModule 类 LRNAnimationViewManager,但名称已由
- python - 如何在没有return_sequences的情况下在keras中堆叠多个lstm?