# R Error: Non-numeric Argument to Binary Operator | How to Fix (Example)

This tutorial illustrates how to deal with the error message “non-numeric argument to binary operator” in the R programming language.

Please note that this page illustrates the error message returned by Base R. In case you are looking for the error message “Error in max.item – min.item : non-numeric argument to binary operator” returned by the alpha function of the psych package, you may have a look here.

Let’s dive right into the example!

## Example: Reproducing & Fixing the Error Message: non-numeric argument to binary operator

In this Example, I’ll explain how to reproduce and fix the error message “non-numeric argument to binary operator”. First, let’s create an example that reproduces the error:

```5 * "three" # Trying to use character string in equation # Error in 5 * "three" : non-numeric argument to binary operator```

As you can see based on the previous R code, we have tried to use a character string in an equation (i.e. “three”). Unfortunately, this is not possible in the R programming language.

If we want to solve this problem, we need to replace the character string by a numeric value (i.e. 3). Let’s do that:

```5 * 3 # Proper equation # 15```

As you can see, the RStudio console is not returning the error anymore. Instead it shows the result of our equation.

## Video & Further Resources

Would you like to learn more about error messages in R? Then you might have a look at the following video of my YouTube channel. I explain the R programming code of this page in the video instruction:

Besides the video, you could have a look at the other articles of my website.

Summary: In this article you learned how to handle the error non-numeric argument to binary operator in the R programming language. Tell me about it in the comments, in case you have additional questions.

Subscribe to the Statistics Globe Newsletter

• Hubermane
June 20, 2021 4:09 pm

In need help for a test cromcah’s alpha: Error:non-numeric argument to binary operator, how I can resolve it?

• Hey Hubermane,

Could you illustrate how your data looks like and share the code you have used?

Thanks

Joachim

• Tidy
June 22, 2021 6:07 am

Hi Joachim, I’m in the same boat as Hubermane. I’ve used this syntax with other measures and haven’t run into the same issue. My code:

d_resist\$res_1 <- varRecode(d_resist\$mses_30_1, c("Not at all", "A little", "Somewhat", "Quite a bit", "Very much"), c(1, 2, 3, 4, 5))

# same for items 2-21

res_items <- c("res_1", "res_2", "res_3", "res_4", "res_5", "res_6", "res_7", "res_8", "res_9","res_10", "res_11", "res_12", "res_13", "res_14", "res_15", "res_16", "res_17", "res_18", "res_19", "res_20", "res_21")

psych::alpha(d_resist[, res_items])

"Error in max.item – min.item : non-numeric argument to binary operator"

I'm assuming it's because the recoded items are factors with 5 levels and not numeric, and the vector is a character vector, but the same was true of other measures and I didn't get an error message.

I'd be grateful for your insight!

• Hi Tidy,

Thank you for the detailed question.

I think you are on the right track – it seems like this error is coming from the factor class in your data.

I have created a new tutorial, which explains how to handle this error (the error shown on this package is actually different).

You can find the tutorial here: https://statisticsglobe.com/r-error-in-max-min-item-non-numeric-argument

I hope that helps!

Joachim

• KRITIKA GUPTA
July 8, 2021 5:40 pm

Error in start[2L] – 1 : non-numeric argument to binary operator

Hii, i am getting this error and i am unable to figure out where I went wrong. mY syntax was as follows:
variable_fdi <- ts(FDI, start= c("2016", 4),end = c("2021", 3), frequency = 12)