我在函数中有以下代码
Myfunc<- function(directory, MyFiles, id = 1:332) {
# uncomment the 3 lines below for testing
#directory<-"local"
#id=c(2, 4)
#MyFiles<-c(f2.csv,f4.csv)
idd<-id
df2 <- data.frame()
for(i in 1:length(idd)) {
EmptyVector <- read.csv(MyFiles[i])
comp_cases[i]<-sum(complete.cases(EmptyVector))
print(comp_cases[[i]])
id=idd[i]
ret2=comp_cases[[i]]
df2<-rbind(df2,data.frame(id,ret2))
}
print(df2)
return(df2)
}
Run Code Online (Sandbox Code Playgroud)
当我尝试通过选择函数内部的代码并注释掉返回时在R中运行它时,这种方法有效.我从print语句中获得了一个很好的数据框:
> df2
id ret2
1 2 994
2 4 7112
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试df2从函数返回数据帧时,它只返回第1行,忽略所有其他值.我的问题是它在我尝试的各种值的函数内工作(用各种组合打开多个文件)而不是当我尝试返回数据帧时.请有人帮忙吗.非常感谢提前.