> setwd("E:/SAS data")#指定路径
>a1<-list.files()
> a1
[1] "final1csv" "final2csv" "final3csv"
"final4csv" "final5csv" "final6csv"#文件夹内共有6个数据集(模拟生成,均包含相同变量,其中变量y包含缺失数据)
>for (x1 in a1) {
> Rdata1<-read.csv(x1)
> print(Rdata1)
} #读入这6个csv格式数据集
到现在为止运行没有任何问题,问题在下面的程序:
>library(Amelia) #对Rdata1中这6个数据集的y用amelia这个包进行填补
>for (x1 in a1) {
> while(d==1)
>Rdata1.out<-amelia(x=Rdata1,m=5,p2s=0,startvals=0,logs="y",
> idvars = c("rho", "nu","Rnum","y0","d0","c","d","y1","rind"))
> write.amelia(obj=Rdata1.out,file.stem="E:/Rdata/Rdata",format = "csv")#
>print(Rdata1.out)
}
这段程序运行后出现:错误: 找不到对象'd'
这段程序最终想要的结果就是给每个数据集填补5次,这样每个数据集最后生成一个文件夹,共6个,每个夹子里面都有5个填补好的数据集(填补就是用amelia就解决了)
别嫌我啰嗦,主要也是希望尽量吧问题给大家解释清楚,可能有些问题有些简单,但我现在真是需要大家的帮助,非常感谢!


雷达卡



京公网安备 11010802022788号







