考慮以下數據條件極值在數據幀:根據定義的條件PMAX值
F1 <- c(1,1,1,0,1)
F2 <- c(10,20,15,7,20)
F3 <- c('A', 'D', 'B', 'A', 'A')
F4 <- c(9,6,20,20,20)
F5 <- c(2,1,21,8,7)
df1 <- data.frame(F1,F2,F3,F4,F5)
當df1$F1==1
我想獲得$F4
,$F5
和$F2
之間的最大值,但只考慮$F2
如果$F3
因素A
或B
。否則寫NA
df1$max <- with(df1, ifelse(F1==1, pmax(F2[F3_condition],F4,F5), NA))
怎麼能一個帳戶爲F3_condition
其中ER考慮因素A
或B
?
所以$max
將採取以下值:c(10,6,21,NA,20)
我已審查了類似question,但它並不完全與我要求的特定條件處理。