【发布时间】:2019-02-28 08:37:36
【问题描述】:
我有一个数据框 df1,其中包含公司在某一年进行的收购数量的信息。我需要
a) 如果每家公司每年有连续前三年的观测数据,则构建一个虚拟变量
b) 如果该公司年度之前连续三年,则将该三年期间进行的收购数量相加
df1 <- data.frame(ID=c('XXXX-1999','XXXX-2000', 'XXXX-2001', 'YYYY-1999',
'YYYY-2000', 'ZZZZ-1999','ZZZZ-2000','ZZZZ-2001', 'ZZZZ-2002'),
No.of.Transactions=c(1,0,2,2,2,4,1,0,3))
其中 ID 是公司在一年中的观察结果。所需的输出如下
# Desired output
# ID | No.of.Transactions | 3 preceding yrs available dummy? |
No.of.Transactions during 3 preceding yrs
# XXXX-1999 1 0 N/A
# XXXX-2000 0 0 N/A
# XXXX-2001 2 1 3
# YYYY-1999 2 0 N/A
# YYYY-2000 2 0 N/A
# ZZZZ-1999 4 0 N/A
# ZZZZ-2000 1 0 N/A
# ZZZZ-2001 0 1 5
# ZZZZ-2002 3 1 4
那么如果“前 3 年可用的假人?”列取值为 1,则最后一列应汇总公司在焦点和前两年的所有交易。
提前谢谢你!
【问题讨论】:
-
为什么最后一行是
# ZZZZ-2002 3 1 8?不应该是# ZZZZ-2002 3 1 4吗?如果将ID列拆分为company和year,您介意吗? -
是的,你完全正确,我现在在原始帖子中进行了编辑。我不介意 ID 列是否分为公司和年份,如果这样更容易!
标签: r