Вот пример, я использовал имя столбцов Excel для простоты.
library(dplyr)
df <- data.frame(
C3 = c("Yes", "Yes", "Yes", "No"),
B20= c(10, 5, 0, 1),
G3 = c(1, 1, 20, 1),
C4 = c(2, 5, 1, 1),
C14 = c(3, 5, 1, 1)
)
Что вам нужно сделать, это позвонить if_else()
дважды. В дальнейшем я предполагаю, что значением по умолчанию является 0 (обратите внимание, что вместо него можно использовать NA
). По сути, если бы было только первое утверждение, вы бы сделали:
df %>% mutate(EX = ifelse(C3 == "Yes", 1, 0))
C3 B20 G3 C4 C14 EX
1 Yes 10 1 2 3 1
2 Yes 5 1 5 5 1
3 Yes 0 20 1 1 1
4 No 1 1 1 1 0
Но есть вторая часть, и вам нужно позвонить if_else()
еще раз:
df %>% mutate(EX = if_else(
C3 == "Yes",
if_else(B20>0, floor(B20/C4) + (G3<=(B20%%C14)), 0),
0))
C3 B20 G3 C4 C14 EX
1 Yes 10 1 2 3 6
2 Yes 5 1 5 5 1
3 Yes 0 20 1 1 0
4 No 1 1 1 1 0
%%
соответствует mod
в Excel.