其实这是coursera上R programming week2 的assignment,给定了332个表,表的名字是“001.csv”,"002.csv",..."010.csv...332.csv"让我编写一个函数pollutantmean,将表合在一起然后求某几个表某个属性的均值,代码如下:
pollutantmean=function(directory,pollutant,id=1:332){ #directory是目录,pollutant是属性,id是指定目录里的哪几个表
x=vector("character",length=332)
for(i in 1:9){
x=paste("00",i,sep="")
}
for(i in 10:99){
x=paste("0",i,sep="")
}
for(i in 100:332){
x=paste(i)
}
#这几行的作用是将文件的名称都放到vector x里面;
dat=data.frame()
#创建数据框dat
for(i in id){
a=read.csv(file=paste(directory,"/",x,".csv",sep=""),header=TRUE)
dat=rbind(dat,a)
}
#将id指定的几个表都合并在一起
po=colMeans(dat$pollutant,na.rm=TRUE)
#求pollutant属性的均值
print(po)
}
然后我输入pollutantmean("specdata(这是目录)",“sulfate(这是目标属性)”,“1:332”(001.csv到332.csv全部合并))
我期望得到的是001到332的sulfate的均值,结果却显示“Error during wrapup: object 'dat' not found”,这是什么回事呢?作为R入门者的我弄了两天都还没弄出这个东西来,求解答!谢谢!


雷达卡





我发现了一个问题,我现在的代码是这样的:

京公网安备 11010802022788号







