Добавление альтернативы data.table
:
library(data.table)
df1<-copy(df)
setDT(df1)
df1[,`:=`(From=first(Year),To=last(Year)),by=.(Name,School)
][,lapply(.SD,sum),by=.(Name,School,From,To),.SDcols=c("Receptions","Receiving_Yards")]
Выход:
Name School From To Receptions Receiving_Yards
1: Player2 College2 2002 2002 28 280
2: Player1 College1 2004 2005 41 520
3: Player3 College3 2007 2007 11 110
Другая часть:
df1<-copy(df)
setDT(df1)
df1[,lapply(.SD,sum),by=.(Name,School,Year)]
или, если вы не хотите переделывать data.table, удалите столбцы из последней части (которая привела к первому выводу)
#df1<-copy(df) No need,see next
#setDT(df1) No need since you're using the same object as previously used
df1[,`:=`(From=NULL,To=NULL)]
df1[,lapply(.SD,sum),by=.(Name,School,Year)]
df1
Выход:
Name School Year Receptions Receiving_Yards
1: Player1 College1 2004 27 350
2: Player2 College2 2002 28 280
3: Player3 College3 2007 11 110
4: Player1 College1 2005 14 170