R语言自己编程实现bootstrap函数和调用函数包实现.docx

R语言自己编程实现bootstrap函数和调用函数包实现.docx

ID:59252752

大小:10.10 KB

页数:3页

时间:2020-09-08

R语言自己编程实现bootstrap函数和调用函数包实现.docx_第1页
R语言自己编程实现bootstrap函数和调用函数包实现.docx_第2页
R语言自己编程实现bootstrap函数和调用函数包实现.docx_第3页
资源描述:

《R语言自己编程实现bootstrap函数和调用函数包实现.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、dataset=read.table("e:/CH01TA01.txt",T)#使用数据样本head(dataset)lm=lm(Y~X,dataset)summary(lm)boooootstrap<-function(dataset,m,n)#自编函数实现bootstrap功能{ff=as.formula(paste(names(dataset)[m],"~.",sep=""))row=nrow(dataset);col=ncol(dataset)c=matrix(0,n,col)a=lm(ff,data

2、set)dataset_new=datasetfor(iin1:n){num=sample(1:row,row,replace=T)dataset_new[,m]=dataset[,m]+(a$resid)[num]a1=lm(ff,dataset_new)c[i,]=as.vector(a1$coef)}c=as.data.frame(c)b=list()for(iin1:col)b[[i]]=c[,i]names(b)=c("Intercept",colnames(dataset)[-m])return(

3、b)}(b=boooootstrap(dataset,2,500))hist(b[[i]])#i为第i个参数###################函数boooootstrap的输入:1.dataset为数据集#2.m为数据集中因变量所在列#3.n为所需boooootstrap的次数;#输出:列表b,每一层为截距以及各自变量在boooootstrapn次所得的值CI<-function(dataset,m,n,x){a=1-xb=boooootstrap(dataset,m,n)ff=as.formula(pa

4、ste(names(dataset)[m],"~.",sep=""))fit=lm(ff,dataset)d=list()for(iin1:length(b)){d1=as.vector(2*fit$coef[i]-quantile(b[[i]],1-a/2))d2=as.vector(2*fit$coef[i]-quantile(b[[i]],a/2))d[[i]]=c(d1,d2)}names(d)=c("Intercept",colnames(dataset[-m]))return(d)}CI(data

5、set,2,100,0.95)#函数CI的输入:1.dataset为数据集#2.m为数据集中因变量所在列#3.n为所需bootstrap的次数#4.x为置信度(0~1)#输出:列表d,每一层为截距以及各自变量的置信区间#运行函数CI前应先加载函数boooootstrap#############################引用bootstrap包计算install.packages("bootstrap")library(bootstrap)theta.b<-function(x,dataset,i){f

6、f=as.formula(paste(names(dataset)[i],"~.",sep=""))out=lm(ff,dataset,subset=x)coe=out$coefficientsreturn(coe)}set.seed(333)n=nrow(dataset)coe=bootstrap(1:n,500,theta.b,dataset,i)#1:n为抽样空间,可s为样本空间的子集;#500为bootstrap次数#theta为构造的函数;#dataset为数据集对象#i为因变量所在列apply(c

7、oe$thetastar,1,mean)#对拟合系数按行求均值hist(coe$thetastar[n,])#b_(n-1)的频率分布图ff=as.formula(paste(names(dataset)[i],"~.",sep=""))#i需赋值为因变量所在列值fit=lm(ff,dataset)L=U=0for(iin1:length(dataset)){L[i]=2*fit$coef[i]-quantile(coe$thetastar[i,],1-0.05/2)U[i]=2*fit$coef[i]-qu

8、antile(coe$thetastar[i,],0.05/2)}(CI=data.frame(L,U,row.names=c("Intercept",colnames(dataset)[-i])))#b0至b_(n-1)的置信区间################################fit=fitted(dataset)e=residuals(dataset)x=model.matrix

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。