2016-06-21 219 views
-1

我R中新的,所以不要難爲我,我想做一個循環與ifelse在R,我有下面的代碼:Ifelse多個條件

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 <=" 

而且我不'不知道是否有其他選擇使其工作

+0

什麼是'mydata'? – Robert

回答

0

由於mydata未定義,我無法複製您遇到的問題。另外,你的目標不是很清楚。如果new2 < new1但cdata> new1會發生什麼情況?

我能做的最好的是下面的代碼,這是相當於「如果NEW2是< =既CDATA和名new1,並且還CDATA < = new1返回值1.5,否則返回值2」:

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

'new2 <= new1'是不必要的 - 如果其他兩個條件都是真的,那麼**必須**爲真。 – Gregor