2014-11-11 5 views
0

Я пытаюсь построить оператор if, который будет вычислять оператор, если делитель больше нуля и возвращает ноль, если нет. Я уверен, у меня есть фигурные скобки в нужных местах, но R продолжает давать мне предупреждающее сообщение о том, чтоОшибка в выражении IF

условие имеет длину> 1 и будет использоваться только первый элемент.

Я понимаю, это означает, что R только evaluting первого утверждения и не обращая внимания на немного другого, но я знаю от моих данных, что есть, конечно, нулевые записи для переменного в если условии

Вот мой текущий код

if (contributions$MEMCONTAMT > 0) { 
contributions$CONTAMTRATIO <- contributions$EMPCONTAMT/contributions$MEMCONTAMT 
} else { 
contributions$CONTAMTRATIO==0 
} 

заранее спасибо

+1

Взгляните на '? Ifelse', который векторизован. – jbaums

+0

Угадайте, что вы хотите либо '=', либо '<-' для строки else. Не '==' – KFB

+1

Предложите предоставить образцы данных и более полный код. – KFB

ответ

0

Я полагаю, что вы ищете

transform(contributions, 
      CONTAMTRATIO = "[<-"(EMPCONTAMT/MEMCONTAMT, MEMCONTAMT <= 0, 0)) 
Смежные вопросы