Fix: error in strsplit(unitspec, ” “) : non-character argument?

The error in strsplit(unitspec, ” “) is an indication that the argument that is being passed to the strsplit function is not a character type data. The argument should be a character type data in order for the strsplit function to work properly. This can be fixed by ensuring that the argument passed to the strsplit function is a character type data.


One error you may encounter in R is:

Error in strsplit(df$my_column, split = "1") : non-character argument 

This error usually occurs when you attempt to use the strsplit() function in R to split up a string, yet the object you’re working with is not a string.

This tutorial shares exactly how to fix this error.

How to Reproduce the Error

Suppose we have the following data frame in R:

#create data frame
df <- data.frame(team=c('A', 'B', 'C'),
                 points=c(91910, 14015, 120215))

#view data frame
df

  team points
1    A  91910
2    B  14015
3    C 120215

Now suppose we attempt to use the strsplit() function to split the values in the “points” column based on where the number 1 occurs:

#attempt to split values in points column
strsplit(df$points, split="1")

Error in strsplit(df$points, split = "1") : non-character argument

We receive an error because the variable “points” is not a character.

We can confirm this by checking the class of this variable:

#display class of "points" variable
class(df$points)

[1] "numeric"

We can see that this variable has a class of numeric.

How to Fix the Error

The way to fix this error is to use as.character() to convert the “points” variable to a character before attempting to use the strsplit() function:

#split values in points column based on where 1 appears
strsplit(as.character(df$points), split="1")

[[1]]
[1] "9" "9" "0"

[[2]]
[1] ""   "40" "5" 

[[3]]
[1] ""    "202" "5"  

This time we’re able to successfully split each value in the “points” column because we first used the as.character() function to convert “points” to a character.

The following tutorials explain how to troubleshoot other common errors in R:

x