我在R中做了一个要循环的函数。我已经获得了在单个案例中可以使用的功能。我无法获得该函数来返回该函数产生的数字向量。
vec_fun5 <- function(x,y){
Vec <- c(round(mean(x[[y]],na.rm=T),2),nrow(na.omit(x[,y])),length(which(x[,y]==1)),length(which(x[,y]==2)),length(which(x[,y]==3)),length(which(x[,y]==4)),length(which(x[,y]==5)))
return(Vec)
}
for(i in 20:24){
vec_fun5(x,i)
}
我想用循环产生的所有矢量产生一个数据帧。
答案 0 :(得分:1)
也许您可以尝试将函数创建的对象放在列表中:
vec_save <- list()
ii <- 1
for(i in 20:24){
vec_save[[ii]] <- vec_fun5(x,i)
ii <- ii+1
}
此后,如果您想cbind
或rbind
感兴趣的向量以获得单个数据帧,则可以运行:
df <- do.call("cbind", vec_save) #assuming that you want to bind them by column