楼主: zjk0507
1371 1

[问答] 请大家帮我看一下这个程序,希望可以得到大家的点拨,给出程序建议!谢谢 [推广有奖]

  • 0关注
  • 0粉丝

本科生

49%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
7897 点
帖子
30
精华
0
在线时间
148 小时
注册时间
2010-11-1
最后登录
2022-1-21

楼主
zjk0507 发表于 2012-2-12 10:48:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
>library(foreign)
> 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) #这一步有个问题,由于d是数据集中的二分类变量:0和1,我想用d=1的个体的数 据对y进行填补(用下面的amelia),而d=0的那些个体的全部数据都不用,但是输出时要保留。估计这句写得不对,因为提示错误了...(见底部)
>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")#这里存在个问题就是write.amelia输出的只有"final6csv"1个数据集的填补结果,但我想要的是这6个数据集的结果,请问这里应该怎么编写程序啊?
>print(Rdata1.out)还有这里也是只出来一个数据集的结果,怎么才能6个都出来
}
这段程序运行后出现:错误: 找不到对象'd'
这段程序最终想要的结果就是给每个数据集填补5次,这样每个数据集最后生成一个文件夹,共6个,每个夹子里面都有5个填补好的数据集(填补就是用amelia就解决了)
别嫌我啰嗦,主要也是希望尽量吧问题给大家解释清楚,可能有些问题有些简单,但我现在真是需要大家的帮助,非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Library Foreign format RData final 文件夹 library foreign 程序

沙发
DM小菜鸟 发表于 2015-2-9 17:23:32
我现在跟系统一样,也没找到d

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 00:43