if / else em scripts R

Um equívoco comum é que a parte “else” de uma instrução if / else pode estar na mesma linha da instrução “if” ou em uma linha subsequente.
Acontece que R executa o script como se estivesse escrito na linha de comando: se as duas partes estiverem em duas linhas diferentes, isso produzirá um erro.

if(test){cat("if");} 
else{cat("else");} #error: unexpected 'else'

if(test){cat("if");} else{cat("else");} #no errors

Se alguém não quiser colocar tudo em uma linha, colocar as duas sub-instruções em um bloco também funcionará:

{
if(test){cat("if");}
else{cat("else");}
}
Tagged