У меня есть следующий фрейм данных:
df1
Name Ch1 Val1
A a x1
B b x2
C a x3
...
И я хочу добавить еще одну строку, которая дает мне решение для l oop Я пытаюсь получить:
for (i in nrow(df))
if ( (df[i,3]>=-2)==T & (df3[i,3] <=2)==T & df[i,2]=="a"){
df[i,4]<-TRUE
}else if ((df[i,3]>2)==T & df[i,2]=="b"){
df[i,4]<-TRUE
}else (df[i,4]<-FALSE)
Таким образом, в основном, если значение в Val1 находится в интервале от -2 до +2, а Ch1 равен «a», это должно дать ИСТИНА, если Val1 больше 2, а Ch1 равно «b», то результат равен TRUE
В противном случае оно всегда должно быть ложным.
Мой l oop, кажется, возвращает результат только для первой строки, остальное - NA. Есть идеи, где ошибка? Или другой способ решить эту проблему (хотя у меня на самом деле есть еще несколько операционных)
Спасибо!