如何修复: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 中的其他常见错误:

如何在 R 中修复:名称与以前的名称不匹配
如何在 R 中修复:列多于列名
如何在 R 中修复:替换有 X 行,数据有 Y

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注