【发布时间】:2016-01-15 12:20:07
【问题描述】:
我有这样的数据:
Ind_name Co_Name Year EPS BPS
1 A X 2001 10 11
2 A X 2002 12 12
3 A X 2003 15 15
4 A Y 2001 10 18
5 A Y 2002 16 25
6 A Y 2003 20 26
7 B Z 2001 14 36
8 B Z 2002 16 9
9 B Z 2003 20 10
同样,在我的数据集中有 50 个行业,每个行业有 15 家公司,每个公司都有 20 年的数据。
我想要以下内容: 1. 过滤特定行业特定年份的所有公司数据。例如。
Ind_name Co_Name Year EPS BPS
1 A X 2001 10 11
4 A Y 2001 10 18
之后,我需要计算 EPS 和 BPS 之间的相关系数和回归(斜率)β。
我想要这样的输出:
Ind_name Year Correlation Beta
A 2001 .55 #assume 1.2 #assume
A 2002 .85 #assume 0.2 #assume
A 2003 .65 #assume .65 #assume
您能否建议我如何实现这一目标?
注意:相关性和回归斜率可以计算如下:
cor(EPS,BPS) #corrleation
summary(lm(mydata$EPS~mydata$BPS))$coefficients[2] #directly give beta
【问题讨论】:
-
它们有多复杂,
dplyr是不可能的? -
然后分享你的
complex function -
@moto 我已经编辑了我的问题。请检查一下。
-
如果数据没有出现在您想要的结果中,为什么要按公司分组数据
-
在此处查找
lm()与dplyr的组合:stackoverflow.com/questions/26765426/…