计算面板数据R中的平均值
我对R很陌生。 我有不平衡的面板数据。BvD_ID_Number是每个公司的识别号,TotalAsset是每个时期(年度)资产负债表中总资产的价值。 这里是一个概述() 我想,对于每个BvD_ID_数字,计算整个可用时间窗口的TotalAsset的平均值 我使用了此代码,但效果不好()计算面板数据R中的平均值,r,average,panel,panel-data,R,Average,Panel,Panel Data,我对R很陌生。 我有不平衡的面板数据。BvD_ID_Number是每个公司的识别号,TotalAsset是每个时期(年度)资产负债表中总资产的价值。 这里是一个概述() 我想,对于每个BvD_ID_数字,计算整个可用时间窗口的TotalAsset的平均值 我使用了此代码,但效果不好() 库(dplyr) df% 分组依据(p_TotalAsset1$BvD_ID_编号)%>% 变异(TotalAsset\u Avegage=四舍五入(平均值(p\u TotalAsset1$TotalAsset)
库(dplyr)
df%
分组依据(p_TotalAsset1$BvD_ID_编号)%>%
变异(TotalAsset\u Avegage=四舍五入(平均值(p\u TotalAsset1$TotalAsset)))
谢谢你的帮助。你可以使用
总结或变异:
使用summary
将完全聚合您的数据,仅提供分组变量(每个公司的ID号)和平均值
df %>%
group_by(BvD_ID_Number) %>%
summarize(TotalAsset_Average = round(mean(TotalAsset),0))
这给了我们:
BvD_ID_Number TotalAsset_Average
<chr> <dbl>
1 FR810911719 1697
2 GBFC024701 124191
3 GBFC032748 6318.
4 GBFC32536 72912
5 GBFC32699 92878.
# A tibble: 10 x 4
# Groups: BvD_ID_Number [5]
BvD_ID_Number Year TotalAsset TotalAsset_Average
<chr> <dbl> <dbl> <dbl>
1 FR810911719 2017 2220 1697
2 FR810911719 2016 1174 1697
3 GBFC024701 2018 124726 124191
4 GBFC024701 2017 126010 124191
5 GBFC024701 2016 121837 124191
6 GBFC32536 2017 72912 72912
7 GBFC32699 2016 111298 92878
8 GBFC32699 2015 74457 92878
9 GBFC032748 2017 6579 6318
10 GBFC032748 2016 6056 6318
这给了我们:
BvD_ID_Number TotalAsset_Average
<chr> <dbl>
1 FR810911719 1697
2 GBFC024701 124191
3 GBFC032748 6318.
4 GBFC32536 72912
5 GBFC32699 92878.
# A tibble: 10 x 4
# Groups: BvD_ID_Number [5]
BvD_ID_Number Year TotalAsset TotalAsset_Average
<chr> <dbl> <dbl> <dbl>
1 FR810911719 2017 2220 1697
2 FR810911719 2016 1174 1697
3 GBFC024701 2018 124726 124191
4 GBFC024701 2017 126010 124191
5 GBFC024701 2016 121837 124191
6 GBFC32536 2017 72912 72912
7 GBFC32699 2016 111298 92878
8 GBFC32699 2015 74457 92878
9 GBFC032748 2017 6579 6318
10 GBFC032748 2016 6056 6318
谢谢@Matt,我在“分组人”之前加上了“选择(BvD_ID_编号,TotalAsset,年份)%>%”,效果很好
structure(list(BvD_ID_Number = c("FR810911719", "FR810911719",
"GBFC024701", "GBFC024701", "GBFC024701", "GBFC32536", "GBFC32699",
"GBFC32699", "GBFC032748", "GBFC032748"), Year = c(2017, 2016,
2018, 2017, 2016, 2017, 2016, 2015, 2017, 2016), TotalAsset = c(2220,
1174, 124726, 126010, 121837, 72912, 111298, 74457, 6579, 6056
)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
))