CanPres1 <- read.table("c:/temp/prestige.txt",header=T) names(CanPres1) CanPres1.lmedinc <- lm(prestige ~ education +income, data=CanPres1) summary(CanPres1.lmedinc) CanPres1.X <- cbind(rep(1,dim(CanPres1)[1]),CanPres1[,1:2]) CanPres1.XpX <- as.matrix(t(CanPres1.X)) %*% as.matrix(CanPres1.X) CanPres1.XpY <- as.matrix(t(CanPres1.X)) %*% as.matrix(CanPres1[,4]) CanPres1.bhat <- solve(CanPres1.XpX) %*% CanPres1.XpY # testing the global hypothesis l1 <- matrix(c(0,1,0,0,0,1),nrow=2,byrow=T) c1 <- matrix(c(0,0),nrow=2,byrow=T) ssh1 <- t(l1 %*% CanPres1.bhat -c1) %*% solve(l1 %*% solve(CanPres1.XpX) %*% t(l1)) %*% (l1 %*% CanPres1.bhat -c1) fglobal <- ssh1/2 / anova(CanPres1.lmedinc)$"Mean Sq"[3] # testing the second hypothesis l2 <- matrix(c(0,1,-1),nrow=1,byrow=T) c2 <- matrix(c(0),nrow=1,byrow=T) ssh2 <- t(l2 %*% CanPres1.bhat -c2) %*% solve(l2 %*% solve(CanPres1.XpX) %*% t(l2)) %*% (l2 %*% CanPres1.bhat -c2) fh2 <- ssh2/1 / anova(CanPres1.lmedinc)$"Mean Sq"[3] # remove objects when finished rm(CanPres1.lmedinc,CanPres1.X,CanPres1.XpX,CanPres1.XpY,CanPres1.bhat,l1,c1,ssh1,fglobal,l2,c2,ssh2,fh2)