Я пытаюсь разделить число на сумму результата двух операторов if. По какой-то причине R игнорирует круглые скобки вокруг обоих операторов if после завершения первого оператора if и выполняет деление только на первый оператор if. При добавлении скобок вокруг первого оператора if формула работает так, как ожидалось. Вопрос: почему это так?
Замена операторов if на ifelse (y == 2,4,1) решает его, а также дополнительные скобки. Мне любопытно, почему первый тест дает мне неожиданный результат.
x <- 1
y <- 2
z <- 4
test1 <- z/(if(y==2){4}else{1}+if(x==1){4}else{1})
> print(test1)
[1] 1
test2 <- z/((if(y==2){4}else{1})+if(x==1){4}else{1})
> print(test2)
[1] 0.5
Я ожидаю, что результат test1 и test2 будет равен 0.5