s.multinom {ade4}  R Documentation 
The main purpose of this function is to draw categories using scores and profiles by their gravity center. Confidence intervals of the average position (issued from a multinomial distribution) can be superimposed.
s.multinom(dfxy, dfrowprof, translate = FALSE, xax = 1, yax = 2, labelcat = row.names(dfxy), clabelcat = 1, cpointcat = if (clabelcat == 0) 2 else 0, labelrowprof = row.names(dfrowprof), clabelrowprof = 0.75, cpointrowprof = if (clabelrowprof == 0) 2 else 0, pchrowprof = 20, coulrowprof = grey(0.8), proba = 0.95, n.sample = apply(dfrowprof, 1, sum), axesell = TRUE, ...)
dfxy 

dfrowprof 

translate 
a logical value indicating whether the plot should be translated(TRUE) or not. The origin becomes the gravity center weighted by profiles. 
xax 
the column number of 
yax 
the column number of 
labelcat 
a vector of strings of characters for the labels of categories 
clabelcat 
an integer specifying the character size for the labels of categories,
used with 
cpointcat 
an integer specifying the character size for the points showing the categories,
used with 
labelrowprof 
a vector of strings of characters for the labels of profiles (rows of 
clabelrowprof 
an integer specifying the character size for the labels of profiles used with par("cex")*clabelrowprof 
cpointrowprof 
an integer specifying the character size for the points representative of the profiles used with par("cex")*cpointrowprof 
pchrowprof 
either an integer specifying a symbol or a single character to be used for the profile labels 
coulrowprof 
a vector of colors used for ellipses, possibly recycled 
proba 
a value lying between 0.500 and 0.999 to draw a confidence interval 
n.sample 
a vector containing the sample size, possibly recycled. Used 
axesell 
a logical value indicating whether the ellipse axes should be drawn 
... 
further arguments passed from the 
Returns in a hidden way a list of three components :
tra 
a vector with two values giving the done original translation. 
ell 
a matrix, with 5 columns and for rows the number of profiles, giving the means,
the variances and the covariance of the profile for the used
numerical codes (column of 
call 
the matched call 
Daniel Chessel
par(mfrow = c(2,2)) par(mar = c(0.1,0.1,0.1,0.1)) proba < matrix(c(0.49,0.47,0.04,0.4,0.3,0.3,0.05,0.05,0.9,0.05,0.7,0.25), ncol = 3, byrow = TRUE) proba.df < as.data.frame (proba) names(proba.df) < c("A","B","C") ; row.names(proba.df) < c("P1","P2","P3","P4") w.proba < triangle.plot(proba.df, clab = 2, show = FALSE) box() w.tri = data.frame(x = c(sqrt(1/2),sqrt(1/2),0), y = c(1/sqrt(6),1/sqrt(6),2/sqrt(6))) L3 < c("A","B","C") row.names(w.tri) < L3 s.multinom(w.tri, proba.df, n.sample = 0, coulrowprof = "black", clabelrowprof = 1.5) s.multinom(w.tri, proba.df, n.sample = 30, coul = palette()[5]) s.multinom(w.tri, proba.df, n.sample = 60, coul = palette()[6], add.p = TRUE) s.multinom(w.tri, proba.df, n.sample = 120, coul = grey(0.8), add.p = TRUE) print(s.multinom(w.tri, proba.df[3,], n.sample = 0, translate = TRUE)$tra)