# Error in if x<100 missing value where true/false needed

Error in if x<100 missing value where true/false needed, when using R, you could see this message:

If (x<100) fails with an error: the argument is of zero length.

This mistake typically arises when you try to make a logical comparison within an if statement in R, but the variable you’re comparing is of zero length.

Numeric() and character() are two examples of zero-length variables (0).

## Error in if x<100 missing value where true/false needed

In practice, the following example demonstrates how to correct this issue.

How to Get the Error to Happen Again

Let’s say we want to make a numeric variable in R with a length of zero:

make a zero-length numeric variable x- numeric variable ()

Let’s see what happens if we try to use this variable in an if statement:

print x to console if x is less than 100.

```if(x < 100) {
x
}```
```Error in if (x < 100) { : missing value where TRUE/FALSE needed
1: In Ops.factor(x, 100) : ‘<’ not meaningful for factors
2: In if (x < 100) { :
the condition has length > 1 and only the first element will be used```

Because the variable we defined has a length of zero, we get an error.

When using the if statement, we would never see this issue if we just established a numeric variable with an actual value:

create a numerical variable

`y <- 5`

if y is less than 100, print y to console

```if(y < 100) {
y
}
 5```

How to Avoid Making the Mistake

We must include an isTRUE function that utilizes the following reasoning to avoid the argument length zero error:

`is.logical(x) && length(x) == 1 && !is.na(x) && x`

We won’t get an error if we use this function in the if statement to compare our variable to a value:

```if(isTRUE(x) && x < 100) {
x
}```

We get no output instead of an error because the isTRUE(x) function evaluates to FALSE, which means the value of x is never written.

Error in if x<100 missing value where true/false needed error solved now.

How to perform ANCOVA in R » Quick Guide » finnstats