如何修复:R 中二元运算符的非数字参数
在本文中,我们将看到如何修复:R 编程语言中二元运算符的非数字参数。
当我们对非数字元素执行算术运算时,会出现“二元运算符的非数字参数”错误。
如何产生此错误
在这里我们可以看到,我们必须取字符串元素并尝试将它与数字元素相加,所以它会发生。
R
num <- "2"
res <- num + 4
print(res)
R
num <- "2"
res <- as.numeric(num) + 3
print(res)
R
# 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'
df$Add_on <- df$Practial_Marks + as.numeric(df$Sub_Marks)
print(df)
输出:
Error in num + 4: non-numeric argument to binary operator
如何解决?
为了解决这个错误,我们将使用 as.numeric() 方法将非数字数据转换为数字数据。
示例 1:执行成向量
我们将使用 as.numeric() 方法将非数字数据从向量转换为数字数据。
R
num <- "2"
res <- as.numeric(num) + 3
print(res)
输出:
5
示例 2:执行到 Dataframe
在这里,我们将创建 3 列,并尝试使用 as.numeric() 方法将数字列添加到非数字列。
R
# 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'
df$Add_on <- df$Practial_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