R函数不';t返回值

R函数不';t返回值,r,function,R,Function,我正在研究一个与FIFA 19 data()相关的Kaggle内核,并试图创建一个函数,将列中的数字相加。 该列的值类似于88+2(类字符) 期望的结果是90(类-整数) 我试图创建一个函数来转换这样多个列 add_fun <- function(x){ a <- strsplit(x, "\\+") for (i in 1:length(a)){ a[[i]] <- as.numeric(a[[i]]) } for (i in 1:length(a

我正在研究一个与FIFA 19 data()相关的Kaggle内核,并试图创建一个函数,将列中的数字相加。 该列的值类似于88+2(类字符)

期望的结果是90(类-整数)

我试图创建一个函数来转换这样多个列

add_fun <- function(x){
  a <- strsplit(x, "\\+")

  for (i in 1:length(a)){
    a[[i]] <- as.numeric(a[[i]])
  }

  for (i in 1:length(a)){
    a[[i]] <- a[[i]][1] + a[[i]][2]
  }

  x <- as.numeric(unlist(a))
}

add_fun读取
df中的csv数据
然后使用


dff您忘记了函数末尾的
return(x)
。@JBGruber感谢您的回复,但它仍然不起作用。数据框中的x部分保持不变。如果没有任何数据或错误消息,则很难说出其他内容。寻找一些指导。我运行了你的函数并添加了
return(x)
,它可以在我的计算机上运行。谢谢。这正是我要找的。我想一定是范围问题造成了阻碍
def_fun <- function(x){
  a <- strsplit(x, '\\+')
  for (i in length(a)){
    b <- sum(as.numeric(a[[i]]))
  }
  return (b)
}
for (i in 1: ncol(dff)){
  dff[i] <- apply(dff[i], 1, FUN = def_fun)
}