我正在研究与FIFA 19数据(https://www.kaggle.com/karangadiya/fifa19)相关的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))
}
当我手动转换每列时,此方法可以很好地工作,但该函数将不会返回所需的结果。有人可以解决这个问题吗?
答案 0 :(得分:0)
读取df
中的csv数据
然后使用
dff <- df[, c("LS","ST", "RS","LW")]
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)
}
您可以将{data}与原始数据一起cbind
,并删除原始列。
我希望它能对您有所帮助。