【发布时间】:2017-05-26 13:27:10
【问题描述】:
我有一个包含多个 VC、基金、业绩、年份和基金规模的数据集。 每个基金都有一个表现。为了测试是否存在业绩持久性,我想找到以前/前任基金的业绩(“PreviousPerformance”)。 PreviousPerformance 是同一个 VC 之前 FUND 的表现。因此,年份决定了哪些资金首先启动、其次启动,以此类推。
VC FUND Performance Year FundSize
A Partners A 0.30 2005 1
B Capital B5 0.20 2008 2
B Capital B4 0.10 2003 3
B Capital B3 0.25 2001 4
B Capital B2 0.20 2001 5
B Capital B1 0.10 2000 6
例如:FUND“B5”的PreviousPerformance为0.1,即B4的表现。
有时,不清楚哪个基金是最后一个基金。例如 B4 有两个之前的基金,B2 和 B3,它们都是在 2001 年成立的。在这种情况下,我希望 PreviousPerformance 是 FundSize 最大的基金的表现(对于 B4,这是 B5)。如果基金没有前任,PreviousPerformance = "-"
最后,数据集应该是这样的。
VC FUND Performance Year FundSize PreviousPerformance
A Partners A 0.30 2005 1 -
B Capital B5 0.20 2008 2 0.1
B Capital B4 0.10 2003 3 0.2
B Capital B3 0.25 2001 4 0.1
B Capital B2 0.20 2001 5 0.1
B Capital B1 0.10 2000 6 -
我不知道使用哪些函数来解决这类问题,有人有建议吗?
示例代码:
FundPerformance = data.table(VC = c("A Partners", rep("B Capital",5)),
FUND = c("A","B5","B4","B3","B2","B1"),
Performance = c(0.3,0.2,0.1,0.25,0.2,0.1),
Year= c(2005,2008,2003,2001,2001,2000),
FundSize=c(1:6),
PreviousPerformance = c ("-",0.1,0.2,0.1,0.1,"-"))
【问题讨论】:
标签: r conditional calculated-columns