📜  如何修复:R 中二元运算符的非数字参数

📅  最后修改于: 2022-05-13 01:54:35.495000             🧑  作者: Mango

如何修复: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)


输出:

如何解决?

为了解决这个错误,我们将使用 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