R:从应用函数返回两个对象
我在数据帧预测上循环函数截止,该函数正确地返回一个新的df(correct_pred)。 但是我还想为列表中的每个应用循环保护df百分比。我该怎么做?现在,该函数只保存上次应用运行的df。 我知道函数有点混乱。它曾经是三个独立的函数,最初不应该循环。 请在下面找到代码和生成的输入矩阵。提前谢谢R:从应用函数返回两个对象,r,list,apply,R,List,Apply,我在数据帧预测上循环函数截止,该函数正确地返回一个新的df(correct_pred)。 但是我还想为列表中的每个应用循环保护df百分比。我该怎么做?现在,该函数只保存上次应用运行的df。 我知道函数有点混乱。它曾经是三个独立的函数,最初不应该循环。 请在下面找到代码和生成的输入矩阵。提前谢谢 predictions <- data.frame(col1=runif(200), col2=runif(200)) test <- data.frame(rbinom(200,1,0.5)
predictions <- data.frame(col1=runif(200), col2=runif(200))
test <- data.frame(rbinom(200,1,0.5))
cutoff <- function(model){
Percent <- as.data.frame(matrix(NA,nrow=200,ncol=19))
for(i in 1:19){
m = i*0.05
Percent[,i] <- as.data.frame(ifelse(model <= m, 0, 1))
}
Percent <<- data.frame(Percent)
validation <- as.data.frame(matrix(NA,nrow=200,ncol=19))
for(i in 1:19){
validation[,i] <- Percent[,i] == test
}
validation <- data.frame(validation)
correct_pred <- as.data.frame(matrix(NA,nrow=19,ncol=1))
for(i in 1:19){
correct_pred[i,] <-(sum(validation[,i], na.rm = TRUE)/200)
}
correct_pred <<- data.frame(correct_pred)
}
correct_pred <<- as.data.frame(apply(predictions,2,cutoff))
correct_pred
预测考虑使用矩阵和向量,并使用apply方法压缩代码,如sapply
和colSums
,并让函数返回多个对象的列表:
set.seed(6521)
预测生成一个列表并返回它test
对象未在提供的代码中定义,因此cutoff
不会运行。无论如何,可能的答案是1)在map/apply函数中定义一个lambda函数,该函数使用对不起!我编辑了我的代码,现在应该可以用了。请你详细说明一下你的确切意思好吗?既然你没有使用所有的数字数据类型,也没有使用列名,为什么要使用data.frames呢。简单地使用矩阵。非常感谢!这是完美的工作,正是我所寻找的。很高兴听到,很高兴能帮助!快乐编码!