# [R] RE: [R] Pareto Chart in R

Don Wingate Don.Wingate at intellichem.com
Tue Feb 13 21:36:02 CET 2001

```Try This:

############################################################################
#######################
#
# pareto. Produces a Pareto plot of effects.
#
# Parameters:
#	effects	-	vector or matrix of effects to plot.
#	names		-	vector of names to label the effects.
# 	xlab		-	String to display as the x axis label.
# 	ylab		-	String to display as the y axis label.
#	perlab	-	Label for the cumulative percentage label.
#
pareto <- function(effects, names=NULL, xlab=NULL, ylab="Magnitude of
Effect", indicate.percent=TRUE,
perlab="Cumulative Percentage",
{
# set up graphics parameters, note: set las=2 for perpendicular
axis.
oldpar <- par( mar=c(6, 4, 2, 4) + 0.1 , las=3)
on.exit(par(oldpar))

if( ! is.matrix(effects)) effects<-as.matrix( effects )

for( i in 1:ncol(effects) )
{

# draw bar plot
eff.ord <- rev(order(abs(effects[,i])))
ef <- abs(effects[eff.ord,i])
# plot barplot
ylimit<-max(ef) + max(ef)*0.19
ylimit<-c(0,ylimit)
par( mar=c(6, 4, 2, 4) + 0.1 , las=3)
x<-barplot(ef, names.arg=names[eff.ord], ylim=ylimit,

if( indicate.percent == TRUE ){
# get cumulative sum of effects
sumeff <- cumsum(ef)
m<-max(ef)
sm<-sum(ef)
sumeff <- m * sumeff/sm

# draws curve.
lines(x, sumeff, lty="solid", lwd=2, col="purple")
# draw 80% line
lines( c(0,max(x)), rep(0.8*m,2) )
# draw axis labling percentage.
at <- c(0:5)* m/5
axis(4, at=at,
labels=c("0","20","40","60","80","100"), pos=max(x)+.6)
par(las=0)
mtext(perlab, 4, line=2)
}

} # end for each col
}

Don Wingate

-----Original Message-----
From: owner-r-help at stat.math.ethz.ch
[mailto:owner-r-help at stat.math.ethz.ch]On Behalf Of Jesus Maria Frias
Celayeta
Sent: Tuesday, February 13, 2001 9:47 AM
To: R-help list
Subject: [R] Pareto Chart in R

Hi over there:
I would like to know if there is a function to plot a Pareto chart
of the
standardised effects of an aov() object, or an alternative to it.

my best regards,

IOsu

--

Jesus Maria Frias Celayeta, PhD.
Process Engineering Department
University College Cork,Cork
Ireland
phone: 353-21-903096
fax:   353-21-270249
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
_._
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

```