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
循环中修改值吗?
答案 0 :(得分:1)
您可以这样做:
apply(a,1,function(x) as.numeric(x["a"]) + as.numeric(x["b"]))