【发布时间】:2014-08-04 10:48:15
【问题描述】:
我在函数中有以下代码
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)
}
当我尝试通过选择函数内的代码并注释掉返回值来在 R 中运行它时,这很有效。我从 print 语句中得到了一个不错的数据框:
> df2
id ret2
1 2 994
2 4 7112
但是,当我尝试从函数返回数据帧 df2 时,它只返回第一行,而忽略所有其他值。我的问题是它在函数中适用于我尝试过的各种值(打开具有各种组合的多个文件),而不是在我尝试返回数据框时。有人可以帮忙吗。非常感谢提前。
【问题讨论】:
-
你是如何调用你的函数的?