我有以下关于投资回报的数据集:
df <- structure(list(Date = structure(c(1620604800,1620604800,1627257600,1627257600),class = c("POSIXct","POSIXt"),tzone = "UTC"),Client = c(56203,56203,56203),FundName = c("SAFRA KEPLER EQUITY HEDGE FI MULTIMERCADO","SAFRA KEPLER FI MULTIMERCADO","SAFRA S&P SPECIAL FIC MULTIMERCADO","SAFRA AÇÕES LIVRE FIC AÇÕES","SAFRA CONSUMO AMERICANO FIC AÇÕES BDR NÍVEL I","SAFRA CONSUMO AMERICANO FIC AÇÕES BDR NÍVEL I"
),Nature = c("Aplicação","Aplicação","Resgate","Resgate"),Quantity = c(145.927569,62.684383,16.964545,57.852278,14.900635,0),Value = c(21240,12120,8760,9120,-9157.45,-1125),Saldo = c(21240,55.60576570794,9198.89221970512),FundCode = c(25079578000106,21144577000147,19107923000175,32666326000149,19436818000180,19436818000180),NAVInitialDate = c(145.551660000114,193.349593000021,521.980031999759,157.489282999886,639.441026999615,543.077092000283,692.849144999869),NAVYesterday = c(147.526190999895,196.017907999922,531.332205999643,166.330892999889,675.641246000305,675.641246000305)),row.names = c(NA,-7L),class = c("tbl_df","tbl","data.frame"))
df$NAVInitialDate = df$Value / df$Quantity
“NAVInitialDate”列是每行“价值/数量”的结果。 我想对 R 说的是:“如果在一行中我们有 Quantity = 0,那么 'NAVInitialDate' = ABS(Value) 除以与行中 Fundname 具有相同 FundName 的所有行的数量总和数量等于0"
结果应该是,对于第 6 行 > NavInitialDate = 539,793 ; 对于第 7 行 > NavInitialDate = 75,50
我该怎么做?我想它可能需要 3 个条件