楼主: sw0712
1079 2

[问答] 紧急求救!!! [推广有奖]

  • 0关注
  • 0粉丝

高中生

20%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
3 点
信用等级
1 点
经验
203 点
帖子
4
精华
0
在线时间
40 小时
注册时间
2010-10-30
最后登录
2019-5-27

楼主
sw0712 发表于 2012-6-10 23:23:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有一个数据集,里面包含了病例和对照,变量patints=1为病例,=0为对照,现在我要以性别(sex,age+ -5,village)作匹配条件,做1:4病例对照抽样,下面是程序

sample.cc<-function(data,seed,jieguo1,jieguo2){read.csv(data)->datset.seed(seed)attach(dat)

index<-which(patients==1) #确定患者所处数据框的位置
len.index<-length(index)
result<-matrix(nr=len.index,nc=5)
for(i in 1:len.index)

{index.contr<-which(sex==sex[index]&village==village[index]&age<(age[index]+5)&age>(age[index]-5))
sample.cc<-sample(index.contr,4)
result[i,]<-c(index,sample.cc)}

as.numeric(t(result))->result2


skip<-length(result2)/5-1

index.NA<-rep(c(rep(FALSE,5),TRUE),len.index) #插入NA值的角标
result3<-numeric()result3[index.NA]<-NA
result3[index.NA==FALSE]<-result2
dat[result3,]->dat.sample
detach(dat)as.data.frame(result)->result

names(result)<-c('病例','对照1','对照2','对照3','对照4')
write.csv(result,jieguo1)
write.csv(dat.sample,jieguo2)
print(result)}

虽然结果里病例和对照是按照1:4呈现,但是发现
结果的对照组里居然有病例出现,不知道哪儿出错了,请大神指点啊!万谢!!!


二维码

扫码加我 拉你入群

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

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

关键词:Village attach Sample Index seed 程序

沙发
zlzl005 发表于 2012-6-10 23:49:04
好深奥!

藤椅
sw0712 发表于 2012-6-12 15:10:10
没人回答啊,自己顶!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 17:36