Hi, Ive been trying to write a program for bootstrapping residuals in R but
without much success.
A lecturer wants to predict the performance of students in an end-of-year
physics exam, y. The lecturer has the students results from a mid-term
physics exam, x, and a mid-term biology exam, z.
He proposes the following linear model for the end-of-year exam result
yi = ? + ?xi + ?zi + qi, where q is the error.
Y is a matrix of the data and we have y=first column of the data and
X=second 2 columns(the x & z data)
Now I need to write a program for obtaining bootstrap estimates, i have:
x=scan(data)
Y=matrix(x,ncol=3,byrow=T)
y=Y[,1]
X=Y[,2:3]
ls=lsfit(X,y)
beta=ls$coef
yest=beta[1]+beta[2]*X[,1]+beta[3]*X[,2]
res=y-yest
boot=function(X,res,beta,b)
{
n=24
output=matrix(0,ncol=2,nrow=b)
for(i in 1:b)
{
error=sample(res,n,replace=T)
ystar=beta[1]+beta[2]*X[,1]+beta[3]*X[,2]+error
ls=lsfit(X,ystar)
output[i,]=ls$coef
}
output
}
I think the first 8 lines are right but my function might be wrong?
Any help?
--
View this message in context:
http://r.789695.n4.nabble.com/Bootstrapping-for-residuals-tp4123657p4123657.html
Sent from the R help mailing list archive at Nabble.com.
On Nov 30, 2011, at 11:31 AM, bubbles1990 wrote:> > Hi, Ive been trying to write a program for bootstrapping residuals > in R but > without much success. > > A lecturer wants to predict the performance of students in an end-of- > year > physics exam, y. The lecturer has the students results from a mid-term > physics exam, x, and a mid-term biology exam, z. > He proposes the following linear model for the end-of-year exam result > yi = ? + ?xi + ?zi + qi, where q is the error. > Y is a matrix of the data and we have y=first column of the data and > X=second 2 columns(the x & z data) > Now I need to write a program for obtaining bootstrap estimates, i > have: > > x=scan(data) > Y=matrix(x,ncol=3,byrow=T) > y=Y[,1] > X=Y[,2:3] > > ls=lsfit(X,y) > beta=ls$coef > > yest=beta[1]+beta[2]*X[,1]+beta[3]*X[,2] > res=y-yest > > boot=function(X,res,beta,b) > { > n=24 > output=matrix(0,ncol=2,nrow=b) > for(i in 1:b) > { > error=sample(res,n,replace=T) > ystar=beta[1]+beta[2]*X[,1]+beta[3]*X[,2]+error > ls=lsfit(X,ystar) > output[i,]=ls$coef > } > output > } > > I think the first 8 lines are right but my function might be wrong? > Any help?You should ask your instructor or teaching assistant for help.>-- David Winsemius, MD West Hartford, CT
On Nov 30, 2011, at 11:31 AM, bubbles1990 wrote:> > Hi, Ive been trying to write a program for bootstrapping residuals > in R but > without much success. > > A lecturer wants to predict the performance of students in an end-of- > year > physics exam, y. The lecturer has the students results from a mid-term > physics exam, x, and a mid-term biology exam, z. > He proposes the following linear model for the end-of-year exam result > yi = ? + ?xi + ?zi + qi, where q is the error. > Y is a matrix of the data and we have y=first column of the data and > X=second 2 columns(the x & z data) > Now I need to write a program for obtaining bootstrap estimates,You replied but included no context, a common and not appreciated (in both senses of that verb) failing in posts from Nabble. My question would be: bootstrap estimate ... of what? -- David.> i have: > > x=scan(data) > Y=matrix(x,ncol=3,byrow=T) > y=Y[,1] > X=Y[,2:3] > > ls=lsfit(X,y) > beta=ls$coef > > yest=beta[1]+beta[2]*X[,1]+beta[3]*X[,2] > res=y-yest > > boot=function(X,res,beta,b) > { > n=24 > output=matrix(0,ncol=2,nrow=b) > for(i in 1:b) > { > error=sample(res,n,replace=T) > ystar=beta[1]+beta[2]*X[,1]+beta[3]*X[,2]+error > ls=lsfit(X,ystar) > output[i,]=ls$coef > } > output > } > > I think the first 8 lines are right but my function might be wrong? > Any help? > > -- > View this message in context: http://r.789695.n4.nabble.com/Bootstrapping-for-residuals-tp4123657p4123657.html > Sent from the R help mailing list archive at Nabble.com. >David Winsemius, MD West Hartford, CT