################################################################################### # # Generate and view a power law distribution # # Last review: 17/06/2018 # email: ja@fct.unl.pt # ################################################################################### ################################################################################### xmin <- 1 xmax <- 25 alfa <- 2 nclasses <- 25 discretizacao <- 1000 colour <- rgb (1,0,0,0.5) ################################################################################### par(mfrow=c(1,3), mar=c(3.5, 3.5, 2, 1), mgp=c(2.25, 0.8, 0)) # # Calculations and graphics # x=seq(xmin,xmax,length=discretizacao) valores=((alfa-1)/xmin)*(x/xmin)^(-alfa) valorescum=1-((x/xmin)^(-alfa+1)) media=mean(valores) variancia=var(valores) minvar <- min(valores) maxvar <- max(valores) classint <- c(seq(minvar,maxvar,by=(maxvar-minvar)/nclasses)) hist (valores, breaks=classint, las=1, xlim=c(minvar,maxvar), col=colour, main="Função densidade de probabilidade", xlab="x", ylab="f(x)", freq = TRUE, cex.lab=1.0, cex.axis=1.0, cex.main=1.0, cex.sub=0.5) points(media,0,pch=8,col=rgb(0,0,1,1.0)) plot (valorescum, type="l", col=colour, lwd=2, main="Função de distribuição cumulativa", xlab="x", ylab="F(x)", cex.lab=1.0, cex.axis=1.0, cex.main=1.0, cex.sub=0.5) plot (x,valores, type="l", col=colour, lwd=2, log="xy", main=paste("log(f(x)) = log(C) - (alfa=",alfa,") log(x)"), xlab="x", ylab="F(x)", cex.lab=1.0, cex.axis=1.0, cex.main=1.0, cex.sub=0.5)