Я пишу функцию R для выполнения этой операции Как написать эффективную функцию с несколькими условиями в R
Я особенно интересно, лучший способ иметь дело с 2-го состояния.
В настоящее время я использую операторы if
внутри функции; второе условие рассматривается с использованием вложенного оператора if
. Мне интересно, если это лучший (самый быстрый, самый изящный) способ справиться с этим типом математических функций.
#Parameters
K.bc <- 10;K.bk<-100
W2.fg <- W2.fp <- 1000
#Function
F.2.sink <- function(K.bc, K.bk, W2.fg,W2.fp){
if(W2.fg + W2.fg < K.bc)
{return(0)}
if(K.bc < (W2.fg + W2.fg))
if(W2.fg + W2.fg < (K.bc+K.bk))
{return(W2.fg + W2.fp - K.bc)}
if(W2.fg + W2.fp >= (K.bc+K.bk))
{return(K.bk)}
}
F.2.sink(K.bc,K.bk,W2.fg,W2.fp)
При проверке вашего второго состояния вы уже проверили, что оно не соответствует первому состоянию. Вам не нужно другое, если снова проверить это. – Dason
Также вопросы обзора кода, подобные этому, вероятно, должны быть размещены на сайте обзора кода, а не здесь. – Dason
@Dason Я не думаю, что это действительно принадлежит CR, он только спрашивает об одном. Мы бы не отказали ему, но, вероятно, не самый лучший вариант. – Riker