如何修复:strsplit(unitspec, ” “) 中的错误:没有字符的参数
在 R 中您可能遇到的错误是:
Error in strsplit(df$my_column, split = "1"): non-character argument
当您尝试使用 R 中的strsplit()函数来分割字符串时,如果您正在使用的对象不是字符串,通常会发生此错误。
本教程准确解释了如何修复此错误。
如何重现错误
假设我们在 R 中有以下数据框:
#create data frame df <- data. frame (team=c('A', 'B', 'C'), dots=c(91910, 14015, 120215)) #view data frame df team points 1 A 91910 2 B 14015 3 C 120215
现在假设我们尝试使用strsplit()函数根据数字 1 出现的位置拆分“points”列中的值:
#attempt to split values in points column
strsplit(df$points, split="1")
Error in strsplit(df$points, split = "1"): non-character argument
我们收到错误,因为变量“points”不是字符。
我们可以通过检查该变量的类来确认这一点:
#display class of "points" variable
class(df$points)
[1] "digital"
我们可以看到这个变量有一个数字类。
如何修复错误
修复此错误的方法是在尝试使用strsplit()函数之前使用as.character()将“points”变量转换为字符:
#split values in points column based on where 1 appears
strsplit(as. character (df$points), split="1")
[[1]]
[1990"
[[2]]
[1] "" "40" "5"
[[3]]
[1] "" "202" "5"
这次我们成功地拆分了“points”列中的每个值,因为我们首先使用as.character()函数将“points”转换为字符。
其他资源
以下教程解释了如何解决 R 中的其他常见错误: