t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
?paste
length(b2)
length(b2[,])
length(b2[1,])
length(b2[,1])
paste("Profit per Employee\n(",length(b2[,1])," companies from S&P TMI index)")
paste("Profit per Employee\n(",length(b2[,1])," companies from S&P TMI index)", sep="")
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b2[,1])," companies from S&P TMI index)", sep=""), 
  xlab="Number of employees", 
  ylab="Profit per employee (USD)")
# Do all the plots
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
for (s in levels(sector)) {
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
}
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors",
   col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b2, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
2^coef(fm)[2]
3^coef(fm)[2]
4^coef(fm)[2]
5^coef(fm)[2]
graphics.off()
postscript(file="tmi.ps",paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
#
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b2[,1])," companies from S&P TMI index)", sep=""), 
  xlab="Number of employees", 
  ylab="Profit per employee (USD)")
# Do all the plots
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
for (s in levels(sector)) {
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
}
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors",
   col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b2, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
1.1^coef(fm)[2]
levels(sector)
summary(b2[sector=="Utilities"])
summary(b2[,sector=="Utilities"])
summary(b2[sector=="Utilities",])
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(sector)) {
b3 <- b2[sector=s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[sector=s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector=s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
attach(b2)
#
#
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector=s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
?detach
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector=s,]
?for
help("for")
levels(b2$sector)
s
for (s in levels(b2$sector)) {}
for (s in levels(b2$sector)) { b3 <- b2[b2$sector=s,] }
 b3 <- b2[b2$sector="Basic Materials",]
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector==s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot_col = 1
plot_pch = 1
#pchs = rep(c(18,20),ceiling(length(levels(sector))/2))
pchs = rep(c(21,22,23,24,25),length(levels(sector)))
palette(rainbow(length(levels(sector)),start=3/6,end=5/6))
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=pchs[plot_pch], col=plot_col, cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
attach(b2)
#
#
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector==s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=20, col="darkblue", cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],
ppe[l],
symbol[l],
c(1.2,0.5), cex=0.5,col="#808080")
#legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
detach(b3)
attach(b2)
#
#
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector==s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=20, col="darkblue", cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
text(employees[l],ppe[l],symbol[l],c(1.2,0.5), cex=0.5,col="#808080")
#legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
detach(b3)
detach(b3)
detach(b3)
detach(b3)
detach(b2)
attach(b2)
#
#
graphics.off()
xll = 1
xul = 10^ceiling(log10(max(employees)))
yll = 10^floor(log10(min(ppe)))
yul = 10^ceiling(log10(max(ppe)))
#
#
detach(b2)
for (s in levels(b2$sector)) {
b3 <- b2[b2$sector==s,]
attach(b3)
postscript(file=paste("tmi-",s,".ps",sep=""),paper="special",width=8,height=8,print.it=FALSE,onefile=FALSE,horizontal=FALSE)
plot.new()
plot.window(c(xll,xul),c(yll,yul),log="xy")
box()
axis(1)
axis(2)
par(font.lab=2)
title(main=paste("Profit per Employee\n(",length(b3[,1])," companies in sector",s,")", sep=""), 
xlab="Number of employees", 
ylab="Profit per employee (USD)")
plot.xy(xy.coords(employees[sector==s],ppe[sector==s],log="xy",xlab="",ylab=""),
type="p", pch=20, col="darkblue", cex=0.75)
plot_col = plot_col + 1
plot_pch = plot_pch + 1
#
l <- (employees<quantile(employees,.01) | employees>quantile(employees,.99)) & (ppe<quantile(ppe,0.01) | ppe>quantile(ppe,0.99))
#text(employees[l],ppe[l],symbol[l],c(1.2,0.5), cex=0.5,col="#808080")
#legend(x=2*10^(log10(xll)+(log10(xul)-log10(xll))/2), y=yul, legend=levels(sector), title="Industry sectors", col=palette(), pch=pchs, cex=.75, pt.cex=1, ncol=2)
#
fm <- nls(ppe ~ a*employees^b, data=b3, start=list(a=max(ppe)*min(employees),b=-0.1))
x <- seq(xll*5,xul/5,length.out=2)
y <- predict(fm, list(employees=x))
lines(x,y,col="darkred",lty="dashed",lwd=2)
t <- paste("Power = ", signif(coef(fm)[2],2) )
text(x[2],y[2]/2,t,c(0.5,0),col="darkred")
#
dev.off()
detach(b3)
}
levels(b2$industry)
summary(b2$industry)
length(b2)
length(b2[,1])
length(b2$sectors)
length(b2$sector)
levels(b2$sector)
1.1^-0.1
10^-0.1
12^-0.1
10^-0.1
20^-0.1
30^-0.1
100^-0.1
