基本上我有一个信号强度值(Sig_1)的列,我正在创建一个名为“Activity2”的新列。如果一个值与下一个(Sig_1)之间的差值等于或大于5,我希望在我的新列中出现“A”。如果信号强度低于-130,我想要出现“W”,如果高于-130,那么我想要一个“我”。
我有一个嵌套的ifelse语句:
df <- transform(df, Activity2 = c(0, ifelse(diff(Sig_1)<5),
ifelse(Sig_1<-130), "W", "I"), "A")
我看不出它有什么问题,但我一直在说:
“ifelse中的错误(diff(Sig_1)&lt; 5):
缺少参数“是”,没有默认值“
答案 0 :(得分:4)
错误是由于错误的括号:您基本上有ifelse(TRUE)
。另外请注意a <- 1
和a < -1
之间的区别。
这里有一些应该做你想做的代码:
df <- transform(df, Activity2 =
ifelse(c(0, diff(Sig_1))<5, ifelse(Sig_1 < -130, "W", "I"), "A"))