# Conditional Statements in R

In programming, we often want to check a conditional statement and then do something if the condition is met and do something else if the condition is not met. This is done using the If conditions.

There are two general forms of decision making structures found in most of the programming languages:

### if statement

if(BooleanExpression)
statement;
if(BooleanExpression) {
statement1;
statement2;
...
}


If the BoolenExpression is true, then the statements will be executed.

### if...else statement

    statement or block 1
else
statement or block 2


### Examples

Let's look at a few examples of the conditional statements.

#Imaginary stock prices
stock_A <- 100
stock_B <- 120
#Check if Stock B's price is above 100.
if(stock_B>100) {
print("We recommend Stock B")
}


When the above code is compiled and executed, it produces the following result:

[1] "We recommend Stock B"


Let's take another example to evaluate an If...Else statement.

#Imaginary stock prices
stock_A <- 100
stock_B <- 120
#Check if Stock A's price is greater than Stock B's price.
if(stock_A>stock_B) {
print("We recommend Stock A")
} else {
print("We recommend Stock B")
}


The above code will produce the following results:

[1] "We recommend Stock B"


As you can see, the Boolean Express (stock_A>stock_B) is false. Therefore, the statements in the 'else' block are evaluated.

### The if...else if...else Statement

We can use else if to further customize our conditional statement. With the if else we can extend the if statement as much as you want. In the entire control structure, as soon as a condition is met (TRUE) the corresponding block of statements will be executed, and the rest of the structure will be ignored.

if (BooleanExpression1) {
expression1
} else if (BooleanExpression2) {
expression2
} else if (BooleanExpression3) {
expression3
} else {
expression4
}


If BooleanExpression1 is TRUE, then expression1 will be executed. If FALSE, then it will check for BooleanExpression2. If BooleanExpression2 is TRUE, then expression2 will be execued, otherwise, it will evaluate BooleanExpression3. If BooleanExpression3 is TRUE, expression3 will be executed, otherwise, expression 4 will be executed.

Let's look at an example:

#Imaginary stock prices
stock_A <- 100
stock_B <- 120
#Compare Stock A and Stock B
if (stock_A>stock_B) {
print("We recommend Stock A")
} else if (stock_A==stock_B) {
print("We are neutral to both stocks")
} else {
print("We recommend Stock B")
}


The above code will produce the following results:

[1] "We recommend Stock B"


In our if conditions, we can use logical operators to check for multiple conditions, as shown below:

#Imaginary stock prices
stock_A <- 100
stock_B <- 120
if (stock_A>=100 & stock_B>=100) {
print("Sell both stocks")
} else {
print("No recommendation")
}


What do you think will print?