2014-01-20 18 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"))