我有以下格式的数据。数据包含有关三个项目的信息-1,2,3,我想计算到上一年的同事和购买的行程,但是我想消除他在那之前参与的所有项目(仅考虑项目)他不属于其中)。例如,请参见下文:
id<- c(1,1,2,2,2,3,3)
person<- c('John','Kevin', 'John', 'Matt', 'Alvin', 'Kevin', 'Alvin')
trips<- c(4,2,5,2,3,4,5)
purchase<- c(6,4,3,4,5,5,6)
join_year<- c(2009,2008,2008,2007,2007, 2008,2008)
df<- data.frame(id, person, trips, purchase, year)
我想创建两个变量,分别称为pr_trips_colleagues(指上一年)和pr_purchases_colleagues(指上一年)。我想要的最终输出如下:
person year pr_trips_colleagues pr_purchase_colleagues
John 2009 5 6
John 2008 0 0
John 2007 0 0
Kevin 2009 8 8
Kevin 2008 0 0
Kevin 2007 0 0
Matt 2009 5 6
Matt 2008 0 0
Matt 2007 0 0
Alvin 2009 2 4
Alvin 2008 0 0
Alvin 2007 0 0
请提供有关如何获得此建议的建议?非常感谢。