我是R新手,我正在练习编写R函数。我有100个CVS单独存储在我的目录中的 数据文件,并且每个文件都由它的ID标记,例如, “1”到“100”。 我喜欢写一个函数,将某些选定的文件读入R,计算每个数据文件中完整情况的数目 ,并将结果排列到数据框中 下面是函数I首先我读取“dat”中的所有文件,然后用 rbind函数,将我选择的文件读入data.frame中,最后我计算了使用sum(complete.cases())的完整个案数 , )。这看起来简单,但 功能不起作用。我怀疑有一些错误的指数,但 还没有想通了,为什么。通过各种主题的搜查,但找不到有用 答案。非常感谢!R for循环索引问题
`complete = function(directory,id) {
dat = list.files(directory, full.name=T)
dat.em = data.frame()
for (i in id) {
dat.ful= rbind(dat.em, read.csv(dat[i]))
obs = numeric()
obs[i] = sum(complete.cases(dat.ful[dat.ful$ID == i,]))
}
data.frame(ID = id, count = obs)
}
complete("envi",c(1,3,5)) `
得到错误和警告消息:在data.frame 错误(ID = ID,计数= OBS):参数意味着,不同的行数:3,5