Ich schreibe eine R-Funktion schreiben, um diese Operation auszuführen Wie eine effiziente Funktion mit mehreren Bedingungen in R
ich besonders frage mich die beste Art und Weise mit der zweiten Bedingung zu behandeln.
Ich verwende derzeit if
Anweisungen innerhalb einer Funktion; Die zweite Bedingung wird mit einer verschachtelten if
-Anweisung behandelt. Ich bin gespannt, ob dies der beste (schnellste, eleganteste) Weg ist, um mit dieser Art von mathematischen Funktionen umzugehen.
#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)
Beim Überprüfen Ihrer zweiten Bedingung haben Sie bereits überprüft, ob die erste Bedingung erfüllt wurde. Sie brauchen kein anderes, wenn Sie das Gleiche noch einmal überprüfen möchten. – Dason
Auch Code-Review-Fragen wie diese sollten wahrscheinlich auf der Code-Review-Seite veröffentlicht werden und nicht hier. – Dason
@Dason Ich glaube nicht, dass das wirklich auf CR gehört, er fragt nur nach einer Sache. Wir würden ihn nicht ablehnen, aber wahrscheinlich nicht die beste Option. – Riker