悬赏 10 个论坛币 未解决
下面是我编写的代码,运行后没有结果,请大家帮我看看是哪里出了问题。附件是数据文件
。
library(bootstrap)
x<-read.table("e:/factor.txt",header=T)
data<-as.vector(x)
##自定义函数
l.boot<-function(data)
{ a<-0
b<-0
c<-0
d<-0
e<-0
f<-0
for (i in 1:nrow(data))
{ if(data[i,2]==1 & data[i,3]==0) a<-a+1
else if(data[i,2]==2 & data[i,3]==0) b<-b+1
else if(data[i,2]==3 & data[i,3]==0) c<-c+1
else if(data[i,2]==1 & data[i,3]==1) d<-d+1
else if(data[i,2]==2 & data[i,3]==1) e<-e+1
else if(data[i,2]==3 & data[i,3]==1) f<-f+1
}
at<-((e*a)/(d*b))
aa<-((f*a)/(d*c))
l<- function(){
log(at)/log(aa)
}
return(l())
}
m<-bootstrap(data,99,l.boot)
运行结果为:Error in 1:nrow(data) : 参数长度为零
运行过程中bootstrap没能调用自定义函数,不知道是否从data中进行了抽样,l.boot无法从每次抽样中获得数据。不知道问题出在哪里?采用boot命令也存在同样的问题。
请各位大侠帮忙看看,如能解决,赠送10个金币聊表存心。或者再增加金币奖励都可以。再次感谢!