R语言如何修复:non-numeric argument to binary operator
在这篇文章中,我们将看到如何修复:R编程语言中二进制运算符的非数字参数。
当我们对非数字元素进行算术运算时,会出现 “二进制运算符的非数字参数 “错误。
如何产生这个错误
在这里我们可以看到,我们要把字符串元素,并试图与数字元素相加,所以会出现这种情况。
num <- "2"
res <- num + 4
print(res)
输出
num + 4中的错误:二进制运算符的非数字参数
如何解决这个问题
为了解决这个错误,我们将使用as.numeric()方法将非数字数据转换成数字数据。
例1:执行成向量
我们将使用as.numeric()方法将矢量中的非数字数据转换成数字数据。
num <- "2"
res <- as.numeric(num) + 3
print(res)
输出
5
例2:执行到数据框架中
这里我们将创建3个列,并尝试使用as.numeric()方法将数字列添加到非数字列。
# Create data for chart
df <-data.frame("Course"=c('DSA','C++','R','Python'),
"Practial_Marks"=c(7,5,8,6),
"Sub_Marks" = c('4', '4','3','4'))
# attempt to create new column called 'net'
dfAdd_on <- dfPractial_Marks + as.numeric(df$Sub_Marks)
print(df)
输出
Course Practial_Marks Sub_Marks Add_on
1 DSA 7 4 9
2 C++ 5 4 7
3 R 8 3 9
4 Python 6 4 8