考虑以下数据条件极值在数据帧:根据定义的条件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,但它并不完全与我要求的特定条件处理。