2016-06-21 10 views
-1

Ich bin neu in R so nicht hart auf mich sein, ich versuche, eine Schleife mit ifelse in R zu machen, ich habe den nächsten Code:IfElse mehrere Bedingungen

x1=c(9.9,10.1,10.28,10.47,10.66,10.9,11.1,11.3,11.5) 

    new1 = ((0.8822*x1)- 9.6887) 

    x2=c(9.9,10.1,10.28,10.47,10.66,10.9,11.1,11.3,11.5) 

    new2 = ((0.8822*x2)- 10.2887) 

    cdata = mydata 

    cd1= ifelse(new2 <= cdata <= new1,1.5,2) 

    Error: unexpected '<=' in "cd1= ifelse(new2 <= cdata <=" 

Und ich don Ich weiß nicht, ob es eine andere Option gibt, damit es funktioniert

+0

Was ist 'mydata'? – Robert

Antwort

0

Mit mydata undefined kann ich das Problem, das Sie haben, nicht replizieren. Auch Ihr Ziel ist nicht ganz klar; was passiert, wenn new2 < new1 aber cdata> new1?

Das Beste, was ich tun kann, ist der folgende Code, der gleichwertig ist „wenn new2 < ist = beide cdata und new1 und CDATA auch < = new1, gibt den Wert 1,5, sonst gibt den Wert 2“:

ifelse((new2 <= cdata) & (new2 <= new1) & (cdata <= new1), 1.5, 2) 
+0

'new2 <= new1' ist unnötig - wenn die anderen beiden Bedingungen wahr sind, muss ein ** ** wahr sein. – Gregor