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.
Additional Resources
The following tutorials explain how to troubleshoot other common errors in R:
How to Fix in R: names do not match previous names
How to Fix in R: more columns than column names
How to Fix in R: replacement has X rows, data has Y