全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2119 0
2014-05-16
http://www.biomedcentral.com/con ... /1471-2288-9-7-S3.r 文献上给了一个求归因分值的程序 运行后出现错误  Error in object[] : object of type 'closure' is not subsettable,请问该如何调整?


averageAF = function(formula=NULL,data=NULL){d=model.frame(formula,data)if(any(!(d==1|d==0))) stop("only dichotomized (0/1) variables allowed")vars=ncol(d)-1n=nrow(d)obs.cases=sum(d[,1])m=glm(formula,family=binomial,data=d)if(any(m$coef[-1]<0)) stop("at least one variable is not a risk factor")perm=function(from,to,vec){ if (to == 1)  return(matrix(vec,from,1)) else if (from==1)  matrix(vec,1,to) else{ X=NULL for (i in 1:from){X=rbind(X,cbind(vec,Recall(from-1,to-1,vec[-i])))} return(X) }}indices=perm(vars,vars,2:(vars+1))pred.cases.m=matrix(NA,nrow=nrow(indices),ncol=vars)prev.cases.m=matrix(NA,nrow=nrow(indices),ncol=vars)d1=dfor(i in 1:nrow(indices)){ for(k in 1:vars){  d[,indices[i,k]]=rep(0,n)  pred.cases.m[i,k]=sum(predict.glm(m,d,"response")) } d=d1}pred.cases.m=cbind(rep(obs.cases,nrow(indices)),pred.cases.m)for(i in 1:nrow(indices)){ for(k in 1:vars){  prev.cases.m[i,indices[i,k]-1]=pred.cases.m[i,k]-pred.cases.m[i,k+1] }}prev.cases=apply(prev.cases.m,2,mean)PARF=prev.cases/obs.casesnames(PARF)=names(d)[-1]return(PARF)}summary(averageAF)
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群