# Selected Forbes 500 Companies by Sector -- Homogeneity of Regressions # Data Source: DASL (Forbes 500 Companies Sales) companies <- read.table("companies.dat", header=TRUE) # character variable Sector is automatically converted to a factor companies <- transform(companies, logSales = log(Sales), logAssets = log(Assets)) model1 <- lm(logSales ~ logAssets*Sector, data=companies) model2 <- lm(logSales ~ logAssets + Sector, data=companies) model3 <- lm(logSales ~ logAssets, data=companies) anova(model2, model1) # equal slopes? anova(model3, model2) # equal intercepts (given equal slopes)? anova(model3, model1) # equal slopes and intercepts? # Plot of regressions by group: png("companies.png", 1024, 768) # create PNG figure file in current directory plot(logSales ~ logAssets, col=as.integer(Sector), pch=as.integer(Sector), cex=2, cex.lab=1.5, cex.main=2, main="Forbes 500 Companies -- Homogeneity of Regressions", data=companies) with(companies, legend("topleft", legend=levels(Sector), col=1:nlevels(Sector), pch=1:nlevels(Sector), cex=2)) for(i in 1:nlevels(companies$Sector)){ abline(lm(logSales ~ logAssets, subset=(as.integer(Sector)==i), data=companies), col=i) } dev.off() # close figure file