A **binary operator** in **R** is a symbol used to execute a specific mathematical or logical operation on two variables or expressions.

**What is a Numeric Vector in R?**

A **numeric vector** is a one-dimensional array of numbers that can be created using either c() function or the colon(:) operator.

```
rnum <- c(1, 2, 3, 4, 5)
rnum_second <- 1:5
print(rnum)
print(rnum_second)
```

**Output**

```
[1] 1 2 3 4 5
[1] 1 2 3 4 5
```

**What is a Character Vector in R?**

A **character vector** in **R** is a one-dimensional array of character strings that can be created using the **c() function.**

```
rchar <- c("chatgpt", "gpt-3", "gpt-4")
print(rchar)
```

**Output**

`[1] "chatgpt" "gpt-3" "gpt-4"`

If you use a binary operator on a character vector, you will face an error because the** binary operator** performs well on the numeric vector and does not work on the character vector.

Let’s discuss this error and how to fix it in R.

**non-numeric argument to binary operator in R**

The **non-numeric argument to binary operator** error occurs in **R** when a binary operator (such as +, -, *, etc.) is used with non-numeric arguments.

The error is raised if one or both of the arguments passed to the operator are not of a numeric data type (e.g., character or logical).

Check out the following code that raises **Error: non-numeric argument to binary operator.**

```
a <- "21"
b <- 19
c <- a + b
print(c)
```

**Output**

`Error in a + b : non-numeric argument to binary operator`

In the above code, the variable **“a”** is a **character**, and **“b”** is **numeric**, so when we try to add them together, R will generate an error message because we are trying to add a character and a numeric.

**How to fix Error: non-numeric argument to binary operator**

To fix **Error: non-numeric argument to binary operator in R, **use the **as.numeric()** function to the **character** to a **numeric** **vector**.

```
a <- "21"
b <- 19
c <- as.numeric(a) + b
print(c)
```

**Output**

`[1] 40`

You can see that it solved the error and returned the expected output.

**Conclusion**

The **Error: non-numeric argument to the binary operator** in R is raised when executing a binary operation on character or non-numeric vectors. The **easy** **fix** is to convert the non-numeric vector to a numeric vector using the** as.numeric()** function.

Krunal Lathiya is a Software Engineer with over eight years of experience. He has developed a strong foundation in computer science principles and a passion for problem-solving. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language.