Apply函数中二进制运算符的非数字参数

时间:2019-07-11 06:10:58

标签: r apply

    a <- data.frame(a=c("1","2","3"),b=c("1","2","3"))
    apply(a,1,function(x) {
      x["a"]<- as.numeric(x["a"])
      x["b"]<- as.numeric(x["b"])
      return(x["a"]+x["b"])
    })

我为什么得到

  

x [“ a”] + x [“ b”]中的错误:二进制运算符的非数字参数

我不能在apply循环中修改值吗?

1 个答案:

答案 0 :(得分:1)

您可以这样做:

apply(a,1,function(x) as.numeric(x["a"]) + as.numeric(x["b"]))