我真的不知道我在寻找什么,如果是循环,递归函数或其他的东西。
这是我的玩具数据集:
ID1 S1 S2 S3
1 10 20 30
2 20 30 40
1 50 60 70
3 20 40 50
1 10 30 10
2 40 20 20
toy$OLD_RANK
=查找具有相同ID1的上一行,并复制该行的NEW RANK。如果没有具有相同ID1的行给出分配的值(在本示例中为10)
toy$NEW_RANK
= OLD_RANK + S1 + S2 + S3
预期结果:
ID1 S1 S2 S3 OLD_RANK NEW_RANK
1 10 20 30 10 70
2 20 30 40 10 100
1 50 60 70 70 250
3 20 40 50 10 120
1 10 30 10 280 330
2 40 20 20 100 180
toy <- matrix(c(1,10,20,30,2,20,30,40,1,50,60,70,3,20,40,50,1,10,30,10,2,40,20,20),ncol=4,byrow=TRUE)
colnames(toy) <- c("ID1","S1","S2","S3")
toy <- as.data.frame(database )