2014-01-20 48 views
0

基本上我有一列信號強度值(Sig_1),並正在製作一個名爲「Activity2」的新列。如果一個值和下一個(Sig_1)之間的差值等於或大於5,我想在我的新列中出現「A」。如果信號強度低於-130,我想要出現「W」,如果它高於-130,那麼我想要一個「I」。嵌套,如果其他語句 - 參數「是」丟失沒有默認

我有一個嵌套ifelse聲明:

df <- transform(df, Activity2 = c(0, ifelse(diff(Sig_1)<5), 
ifelse(Sig_1<-130), "W", "I"), "A") 

我看不出有什麼不對,但我不斷收到:

「錯誤ifelse(DIFF(SIG_1)< 5) :
說法「是」缺失,沒有默認值」

+2

支架... C(0,ifelse(DIFF(SIG_1)<5, ifelse(SIG_1 <-130, 「W」, 「我」),「A」)) – Troy

+0

看看這個問題的答案:[鏈接](http://stackoverflow.com/questions/18012222/nested-ifelse-statement-in-r) –

回答

3

的錯誤是由於錯誤的括號:你basicall你有ifelse(TRUE)。請注意0​​和a < -1之間的差異。 下面是一些代碼,應該做你想要什麼:在錯誤的地方

df <- transform(df, Activity2 = 
ifelse(c(0, diff(Sig_1))<5, ifelse(Sig_1 < -130, "W", "I"), "A"))