仅计算列相同值的最后一行的值

Computing value just for the last row of same value of column

我使用以下代码:

    i1 <- SRC2[, Co:= as.character(round(sum(Exist)/.N, 2)) , 
               sequenceID][, .I[1:(.N-1)], sequenceID]$v1


    SRC2[i1, Co:= '']
    SRC2

我想更改行代码,因此只有最后一次出现的 sequenceID 相同值才会包含 Co 值,而不是此代码中的所有行。

当前输出(每行都有值"Co"): “

sequenceID" "transactionID" "eventID" "items"  "Exist" "Co"
"1" 42207993       1577          1        "OV50"     1     0.67
"2" 42207993       6048          2        "OV11"     0     0.67
"3" 42207993       1597          3        "OV148"    1     0.67
"4" 57237976       12423         1        "OV46"     0     0.5
"5" 57237976       12589         2        "OV197"    1     0.5

需要的输出(只有同"sequenceID"的最后一行包含值"Co":

"sequenceID" "transactionID" "eventID" "items"  "Exist" "Co"
"1" 42207993       1577          1        "OV50"     1
"2" 42207993       6048          2        "OV11"     0  
"3" 42207993       1597          3        "OV148"    1       0.67
"4" 57237976       12423         1        "OV46"     0
"5" 57237976       12589         2        "OV197"    1       0.5

这是所需的代码:

library(data.table)
setDT(SRC2)

i1 <- SRC2[, Co:= as.character(round(sum(Exist)/.N, 2)) , sequenceID][, .I[1:(.N-1)], sequenceID]$V1

SRC2[i1, Co:= '']
SRC2

i1 的最后一部分必须包含 V1(大写字母)