Go to TogaWare.com Home Page. Data Science Desktop Survival Guide
by Graham Williams
Duck Duck Go

If-Else Issue

20200105

resume
Try typing the following code into the R console.

if (TRUE)
{
  seed <- 42
}
else
{
  seed <- 666
}

After the first closing brace the interpreter identifies and executes a syntactically valid statement (if with no else). The following else is then a syntactic error.

Error: unexpected 'else' in "else"

> source("examples.R")
Error in source("examples.R") : tmp.R:5:1: unexpected 'else'
4: }
5: else
   ^

This is not an issue when embedding the if statement inside a block of code as within curly braces since the text we enter is not parsed until we hit the final closing brace.

{
  if (TRUE)
  {
    seed <- 42
  }
  else
  {
    seed <- 666
  }
}

Another solution is to move the else to the line with the closing braces to inform the interpreter that we have more to come:

if (TRUE)
{
  seed <- 42
} else
{
  seed <- 666
}


Support further development by purchasing the PDF version of the book.
Other online resources include the GNU/Linux Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 2000-2020 Togaware Pty Ltd. . Creative Commons ShareAlike V4.