【问题标题】:error: non-numeric argument to binary operator, but class is numeric错误:二元运算符的非数字参数,但类是数字
【发布时间】:2019-10-02 23:51:18
【问题描述】:

我试图总结两列并获得错误:二进制运算符的非数字参数。但是,两列都是数字。所以我不明白为什么会收到此错误消息。感谢您的帮助?

data_all<-data_all %>% mutate(total='5min'+'10min')
Error in mutate_impl(.data, dots) : 
  Evaluation error: non-numeric argument to binary operator.
> class(data_all$`5min`)
[1] "numeric"
> class(data_all$`10min`)
[1] "numeric"

【问题讨论】:

  • 您在 mutate 中的列名周围使用引号,这会导致您尝试将字符相加。
  • 嗨,斯文,感谢您的评论。如果我删除引号,那么它会给我一个不同的错误消息 data_all% mutate(total=5min+10min) Error: unexpected symbol in "data_all% mutate(total=5min"跨度>

标签: r error-handling


【解决方案1】:

您需要使用反引号来引用名称中第一个字符为数字的列。我转载如下:

library(data.table)

data_all <- data.table("5min" = c(1:10), "10min" = c(11:20))
data_all$`5min` <- as.numeric(data_all$`5min`)
data_all$`10min` <- as.numeric(data_all$`10min`)

data_all<-data_all %>% mutate(total=`5min` +`10min`)

【讨论】:

    猜你喜欢
    • 2021-03-24
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2021-12-22
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多