Outils pour utilisateurs

Outils du site


public:specs_distribution_specificites

Spécifications du graphique de distribution de la spécificité

Objectif

Méthode

Étapes de développement :

  • Script R
  • Macro avec première proposition d'interface
  • Commande dans TXM : Accessible depuis ou ?

Solution

Script R

library(textometry)
`specif_distrib` <-function(x, F, t, T) {

xlimit=(F/4)
f=0:xlimit

m=((F+1)*(t+1))/(T+2)
pf=dhyper(f,F,T-F,t)
pfsum=pf
for (i in 1:m) {
	pfsum[i+1] = pfsum[i+1] + pfsum[i]
}

for (i in (xlimit-1):m) {
	pfsum[i+1] = pfsum[i+1] + pfsum[i+2]
}

px=pf[x+1]
pfsumx=pfsum[x+1]

title <- sprintf("phyper(%s, F=%d, T-F=%d, t=%d) avec f=%d", paste("[",f[1], ",", f[xlimit+1],"]"), F, T-F, t, x)
plot(f,pfsum, type="l", col="blue", main=title)
lines(f, pf, type="l", col="green")

al=max(pfsum)/10
ad=1
if (m > x) {ad = -ad}
tpos=4
if (m > x) {tpos = 2}
arrows(m, al*0.7,m,0, length=0.1)
arrows(x+ad, al*0.7+px, x, px, length=0.1)
arrows(x+ad, al*1.4+pfsumx, x, pfsumx, length=0.1)

smode <- sprintf("mode = %d", round(m))
spf <- sprintf("p(f'=%d) = %s", x, format.default(px, sci = TRUE, digits = 4))
if (m > x) {
	sintpf <- sprintf("p(f'>=%d) = %s", x, format.default(pfsumx, sci = TRUE, digits = 4))
} else {
	sintpf <- sprintf("p(f'<=%d) = %s", x, format.default(pfsumx, sci = TRUE, digits = 4))
}

text(m,al,smode,xpd=TRUE)
text(x, (al*0.7)+px,spf, pos=tpos,xpd=TRUE)
text(x, (al*1.4)+pfsumx,sintpf, pos=tpos,xpd=TRUE)

s1 <- sprintf("P(f' = f)")
s2 <- sprintf("integral de P(f' <= f) et P(f' >= f)")

legend("topright", c(s1, s2, spf, sintpf),lty = 1, title = "Légende", col=c("green", "blue", "white", "white"),
       inset = .02, cex=0.9)
}
specif_distrib(x=15,F=200,t=500,T=10000)

Dans ce proto, il manque la courbe de P(n >= x)

Macros

Interface minimale : 4 champs comme ceux du manuel de Weblex http://weblex.ens-lsh.fr/doc/weblex/contraste.html

La macro exécute le script R précédent et affiche le résultat dans l’éditeur SVG.

Commande

Protocole de test

État de la plate-forme

Recette

public/specs_distribution_specificites.txt · Dernière modification: 2014/03/27 16:05 par matthieu.decorde@ens-lyon.fr