#
# 
#
########################################################################################
# Préparation des données 
######################################################################################## 

# Les données sont chargées
source("R/prepare.R")

sink.it <- function(file, t) {
	options("max.print"=999999)
	sink(file)
	print(t)
	sink()
}


########################################################################################
########################################################################################
#  Chapitre 4
########################################################################################
########################################################################################

kill.dev()
kill.dev()
kill.dev()

########################################################################################
#  4.1.2 Distributions, représentations
########################################################################################

tmf<-table(tw[tw[,"MI"]=="phrase",c("RB","MF")])  
r2<-tmf[,"R2"]/rowSums(tmf)
sink.it("out/4.1.2.3.shapiro.txt", shapiro.test(r2))

# graphiques
par(mfrow=c(3,1), las=1, cex.axis=1.5, cex.lab=1.5)
hist((r2), col="gray", main="", xlab="", ylab="Fréquence", nclass=5)
toLatexFig("out/4.1.2.2.histogram", family="Times", caption="Histogramme des R2 par phrase, par charte")
kill.dev()
par(mfrow=c(3,1), las=1, cex.axis=1.5, cex.lab=1.5)
plot(density(na.omit(r2), from=0, to=.27, bw=.016), main="", xlab="", ylab="Densité")
toLatexFig("out/4.1.2.3.kde", family="Times", caption="Estimateur de densité des R2 par phrases, par charte")
kill.dev()
par(mfrow=c(3,1), las=1, cex.axis=1.5, cex.lab=1.5)
boxplot((r2), horizontal=T, col="gray", xlab="Proportion de marquage")
toLatexFig("out/4.1.2.4.boxplot", family="Times", caption="Boîte à moustache des R2 par phrase, par charte")
kill.dev()

# valeurs de la distribution
sink("out/4.1.2.1.vals.tex")
cat(paste(format(sort(r2),dig=2), col=" ", sep=""))
sink()
# fréquence maximale
sink("out/4.1.2.1.max-fq.tex") 
cat(max(table(r2))) 
sink()
# min
sink("out/4.1.2.1.min.tex") 
catlat(format(min(r2),dig=2))
sink()
# max
sink("out/4.1.2.1.max.tex") 
catlat(format(max(r2),dig=2))
sink()
# moyenne
sink("out/4.1.2.1.mean.tex") 
catlat(format(mean(r2),dig=2))
sink()
# écart-type
sink("out/4.1.2.3.sd.tex") 
catlat(format(sd(r2),dig=2))
sink()


########################################################################################
#  4.1.3 notion d'H_0
########################################################################################

do.it <- function (i, col) {
    x <- d$x[i]
    y <- d$y[i]
    polygon( c(x,rev(x)), c(rep(0,length(x)),rev(y)), border=NA, col=col )
  }

# visualisation des probabilités (courbe de densité)
d<-density(r2, bw=.016, from=0, to=.27)
par(mfrow=c(3,1), las=1, cex.axis=1.5, cex.lab=1.5)
plot(d, main="", xlab="", ylab="Densité")
do.it(0.05>d$x, "dimgray")
do.it(0.05<=d$x, "lightgray")
abline(v = c(0.05), lty=2)
lines(d)
toLatexFig("out/4.1.3.1.surface", family="Times", caption="Probabilité que R2 $\\leqslant$ 5\\%")
sink("out/4.1.3.1.pvalue.tex")
catlat(format(pnorm(.05, sd=sd(r2), mean=mean(r2))*100,dig=2))
sink()
kill.dev()

########################################################################################
########################################################################################
#  Chapitre 5
########################################################################################
########################################################################################



########################################################################################
#  5.0.1 Définition des données
########################################################################################

# total
sink("out/5.0.1.n.tex")
cat(dim(tw)[1])
sink()
# nombre de mots
sink("out/5.0.1.n-word.tex")
words<-tw[tw[,'T']==1,]
words<-words[!duplicated(words[,c("RB","RMD")]),]
cat(dim(words)[1])
sink()
# nombre de non mots
sink("out/5.0.1.n-notword.tex")
cat(dim(tw[tw[,"T"]!=1,])[1])
sink()

# dépouillement complet
tmp<-tw[,c("MI","MF","MN","MR","PPD","PPF","LID","LIF")]
rownames(tmp)<-1:dim(tmp)[1]
sink.it("out/5.0.1.all.txt", tmp)
rm(tmp)

########################################################################################
#  5.1 Tris à plat généraux
########################################################################################

# Exemple
sink("out/5.1.example.tex")
v<-c(rep(1,4),rep(0,3))
names(v)<-c(1,0)
catlat(toLatex(triplat(v)[[1]], barplot.file="out/5.1.example.barplot", caption="Exemple de tri à plat"))
sink()

# Tris sur les variables sélectionnées
tt<-refactor(tw[!(tw[,"MF"] %in% c("ignore","args","groupe","N","P")),work_cols])

exec.triplat<-function(sub_cols=NULL, cartype=NULL, bottom=3) { 
	if (!is.null(dev.list())) kill.dev()
	for (i in 1:length(sub_cols)) {
		tri<-triplat(tt[,sub_cols[i]])
		# tableau
		sink(paste("out/5.1.triplat-",sub_cols[i],".tex", sep=''))
		catlat(toLatex(tri[[1]], barplot.file=paste("out/5.1.triplat-",sub_cols[i],".barplot", sep=''), caption=paste("Tri à plat de", sub_cols[i])))
		sink()
	}
}

exec.triplat(c("MI","MF","MN","MR"), "M", bottom=10)
exec.triplat(c("LID","LIF"), "L", bottom=10)
exec.triplat(c("PPD","PPF"),"P", bottom=10)



########################################################################################
#  5.2 Tris croisés par variable
########################################################################################


	#-- Exemple

sink(paste("out/5.2.1.table-example.tex", sep=""))
catlat(toLatex(tricroise(table(refactor(tb[tb[,"MI"]=="phrase",c("MF","PPD")]))), label="tab:ex-tricrois", caption="Exemple de tri croisé")) 
sink()

sink(paste("out/5.2.1.table-example-expected.tex", sep=""))
catlat("\\begin{table}[H]\\centering")
catlat(toLatex(round(chisq.test(table(refactor(tb[tb[,"MI"]=="phrase",c("MF","PPD")])))$exp, d=2), total.col=T))
catlat("\\caption{Exemple de tri croisé: valeurs attendues}")
catlat("\\end{table}")
sink()

tt<-refactor(tw[,c(work_cols,"LCD","LCF")])

	#-- Initiale

for (i in 1:6) {
	sink(paste("out/5.2.2.table-", work_cols[i], "x", "PPD.tex", sep=""))
	caption <- paste("Tri croisé ", work_cols[i], "$\\times$ PPD")
	catlat(toLatex(tricroise(table(tt[tt[,"LCD"]!=1,c(work_cols[i],"PPD")])), caption=caption, label=paste("tab:0000-tricroise", work_cols[i], "x", "PPD", sep="")))
	sink()
}

	#-- Finale
	
for (i in 1:6) {
	sink(paste("out/5.2.2.table-", work_cols[i], "x", "PPF.tex", sep=""))
	caption <- paste("Tri croisé", work_cols[i], "$\\times$ PPF")
	catlat(toLatex(tricroise(table(tt[tt[,"LCF"]!=1,c(work_cols[i],"PPF")])), caption=caption))
	sink()
}

# rapports de chances pour MR x PPD

sink(paste("out/5.2.2.4.table-oddsratio-MRxPPD.tex", sep=""))
catlat(format(1/oddsratio(table(tt[tt[,"LCD"]!=1,c("MR","PPD")]), log=F), dig=3))
sink()

########################################################################################
#  5.3 Tris croisés sur une variable de synthèse
########################################################################################



# Assimilation de ¬phrase à phrase
# Dépouillement ¬phrase exprimant un procès
do.app("dep-5.3.2.1.a-notphrase-1", NULL, tw[tw$MI=="¬phrase" & tw$MF %in% c("P0","S1","R2","R3","A4","C5","C6"),], "Énoncés non phrastiques exprimant un procès (premier mot)")
tw[tw$MI=="¬phrase" & tw$MF %in% c("P0","S1","R2","R3","A4","C5","C6"),"MI"]<-"phrase"
# Dépouillement ¬phrase n'exprimant pas un procès
do.app("dep-5.3.2.1.a-notphrase-2", NULL, tw[tw$MI=="¬phrase" & tw$LID==1,], "Énoncés non phrastiques n'exprimant pas un procès (premier mot)")

# simplification
tw<-tw[tw$MI!="¬phrase",]
tw[,"MI"]<-factor(tw[,"MI"])

#======================================================================================#
#  5.3.1.3 Exemple 
#======================================================================================#

t<-table(refactor(tw[tw[,"MI"]=="phrase" & tw[,"LCD"]==0,c("MM","PPD")]))
mult<-dim(t[rowSums(t)>=10,])[1]
t<-rbind(t["0,0,C6,0,0",],colSums(t[,])-t["0,0,C6,0,0",])
rownames(t)<-c("0,0,C6,0,0","autres")
t<-tricroise(t, mult=mult)
sink("out/5.3.1.3.example.tex")
catlat(toLatex(t, caption="Exemple de décomposition de la table de contingence MM $\\times$ PPD: 0,0,C6,0,0"))
sink()


#======================================================================================#
#  5.3.2 Tableaux des contributions: attractions et répulsions pour chaque valeur de MI
#======================================================================================#
mi<-c("phrase","pers-arg","¬pers-arg","synt-arg","pers","¬pers","synt")
smry<-list()

	#-- par ponctogramme et par MI

kill.dev()
for (i in 1:length(mi)) {
	escapedmi<-gsub("¬","\\^", mi[i])
	escapedmi2<-gsub("¬","not", mi[i])
	escapedmi3<-gsub("¬","$¬$", mi[i])

	# Marquage initial
	tt<-refactor(tw[tw[,"MI"]==mi[i] & tw[,"LCD"]==0,c("MM","PPD")])
	t<-table(tt);

		# Tri à plat
	sink(paste("out/5.3.2.freq-",escapedmi,"-PPD.tex", sep=""))
	catlat(toLatex(triplat(tt[,"PPD"])[[1]], barplot.file=paste("out/5.3.2.freq-",escapedmi,"-PPD.barplot", sep=""), caption=paste("Tri à plat de PPD pour les constituants MI.",escapeLatex(mi[i]), sep="")))
	sink()
		# Tabulation
	sink(paste("out/5.3.2.table-PPD-",escapedmi,".tex",sep=""))
	catlat(toLatex(tricroise(t, fisher=F), caption=paste("Tabulation entre PPD et MM, au niveau",escapedmi3), test=F, label=paste("tab:0000-general-tableau-annexe-PPD-",escapedmi2,sep="")))
	sink()
	sink(paste("out/5.3.2.table-PPD-",escapedmi,"-lt10.tex",sep=""))
	catlat(toLatex(tricroise(t[rowSums(t)<10,], fisher=F), caption=paste("Tabulation entre PPD et MM, au niveau",escapedmi3,"(constructions attestées moins de dix fois)"), test=F, label=paste("tab:0000-general-tableau-annexe-PPD-moinsde10-",escapedmi2,sep="")))
	sink()
	
		# Graphique
	smry[["ppd"]][[mi[i]]]<-plotchi(t)
	toLatexFig(paste("out/5.3.2.figure-PPD-",escapedmi, sep=""), label=paste("tab:5.3.2.figure-PPD-",escapedmi2, sep=""), family="Times", scale=1, caption=paste("Liens entre PPD et MM, au niveau", escapeLatex(mi[i])))
	kill.dev()

	# Marquage final
	tt<-refactor(tw[tw[,"MI"]==mi[i] & tw[,"LCF"]==0,c("MM","PPF")])
	t<-table(tt);

		# Tri à plat
	sink(paste("out/5.3.2.freq-",escapedmi,"-PPF.tex", sep=""))
	catlat(toLatex(triplat(tt[,"PPF"])[[1]], barplot.file=paste("out/5.3.2.freq-",escapedmi,"-PPF.barplot", sep=""), caption=paste("Tri à plat de PPF pour les constituants MI.",escapeLatex(mi[i]), sep="")))
	sink()
		# tabulation
	sink(paste("out/5.3.2.table-PPF-",escapedmi,".tex", sep=""))
	catlat(toLatex(tricroise(t, fisher=F), caption=paste("Tabulation entre PPF et MM, au niveau",escapedmi3), test=F, label=paste("tab:0000-general-tableau-annexe-PPF-",escapedmi2,sep="")))
	sink()
	sink(paste("out/5.3.2.table-PPF-",escapedmi,"-lt10.tex",sep=""))
	catlat(toLatex(tricroise(t[rowSums(t)<10,], fisher=F), caption=paste("Tabulation entre PPF et MM, au niveau",escapedmi3,"(constructions attestées moins de dix fois)"), test=F, label=paste("tab:0000-general-tableau-annexe-PPF-moinsde10-",escapedmi2,sep="")))
	sink()
		# Graphique
	smry[["ppf"]][[mi[i]]]<-plotchi(t)
	toLatexFig(paste("out/5.3.2.figure-PPF-",escapedmi, sep=""), label=paste("tab:5.3.2.figure-PPF-",escapedmi2, sep=""), family="Times", scale=1, caption=paste("Liens entre PPF et MM, au niveau", escapeLatex(mi[i])))
	kill.dev()
}


	#-- 5.3.3.2 Synthèse synoptique des tableaux précédents 

tt<-data.frame(MM=character(0),MI=character(0),P=character(0),C=numeric(0),D=character(0), T=numeric(0), R=numeric(0), check.rows=T, row.names=NULL)
# P = ponctuation, C = contribution (probabilité), D = direction, T = threshold (seuil alpha)

ponct.names<-names(smry)
for (i in 1:length(smry)){
	ponct<-smry[[i]]
	mi.names<-names(ponct)
	for (j in 1:length(ponct)) {
		mi<-ponct[[j]]
		dir.names<-names(mi)
		for (k in 1:length(mi)) {
			dir<-mi[[k]]
			mm.names<-rownames(dir)
			for (l in 1:dim(dir)[1]) {
				contrib<-dir[l,1]
				threshold<-1-(1-.05)**(1/length(unlist(mi)))
				ratio<-dir[l,4]
				tt<-rbind(tt, cbind(MM=mm.names[l], MI=mi.names[j], P=ponct.names[i], C=contrib, D=dir.names[k],T=threshold, R=ratio))
			}
		}
	}
}
tt.bak<-tt
tt[,"C"]<-ifelse(as.numeric(tt[,"C"])<as.numeric(tt[,"T"]),1000,ifelse(as.numeric(tt[,"C"])<.05,100,1))
ttppd<-tt[tt[,"P"]=="ppd",]
dfppd<-table(ttppd[,1:2])
dfppd<-ifelse(is.na(dfppd), NA, NA)
for (i in 1:dim(ttppd)[1]) {
	value<-ifelse(ttppd[i,"D"]=="neg",ttppd[i,"C"]*-1,ttppd[i,"C"])
	dfppd[ttppd[i,"MM"],ttppd[i,"MI"]]<-value
}
ttppf<-tt[tt[,"P"]=="ppf",]
dfppf<-table(ttppf[,1:2])
dfppf<-ifelse(is.na(dfppf), NA, NA)
for (i in 1:dim(ttppf)[1]) {
	value<-ifelse(ttppf[i,"D"]=="neg",ttppf[i,"C"]*-1,ttppf[i,"C"])
	dfppf[ttppf[i,"MM"],ttppf[i,"MI"]]<-value
}

plotbyMM(dfppd)
toLatexFig(paste("out/5.3.3.2.synoptic-PPD"), family="Times", pos="p", label="tab:synoptPPD", caption=paste("Tableau synoptique des tendances générales, PPD"))
kill.dev()
plotbyMM(dfppf)
toLatexFig(paste("out/5.3.3.2.synoptic-PPF"), family="Times", pos="p", label="tab:synoptPPF", caption=paste("Tableau synoptique des tendances générales, PPF"))

#======================================================================================#
#  Nouveaux tableaux sans les extrêmes
#======================================================================================#
mi<-c("phrase","pers-arg","¬pers-arg","synt-arg","pers","¬pers","synt")
smry<-list()

	#-- par ponctogramme et par MI

kill.dev()
for (i in 1:length(mi)) {
	escapedmi<-gsub("¬","\\^", mi[i])
	escapedmi2<-gsub("¬","not", mi[i])
	escapedmi3<-gsub("¬","$¬$", mi[i])

	# Marquage initial
	tt<-refactor(tw[tw[,"MI"]==mi[i] & tw[,"LCD"]==0 & tw[,"LID"]==0,c("MM","PPD")])
	t<-table(tt);

		# Tabulation
	sink(paste("out/5.3.2.table-PPD-",escapedmi,"-noLID.tex",sep=""))
	catlat(toLatex(tricroise(t, fisher=F), caption=paste("Tabulation entre PPD et MM, au niveau",escapedmi3,"(sans les constituants initiaux)"), test=F, label=paste("tab:0000-general-tableau-annexe-PPD-sansLID",escapedmi2,sep="")))
	sink()
	sink(paste("out/5.3.2.table-PPD-",escapedmi,"-noLID-lt10.tex",sep=""))
	catlat(toLatex(tricroise(t[rowSums(t)<10,], fisher=F), caption=paste("Tabulation entre PPD et MM, au niveau",escapedmi3,"(constructions attestées moins de dix fois, sans les constituants initiaux)"), test=F, label=paste("tab:0000-general-tableau-annexe-PPD-sansLID-moinsde10-",escapedmi2,sep="")))
	sink()
	
		# Graphique
	smry[["ppd"]][[mi[i]]]<-plotchi(t)
	toLatexFig(paste("out/5.3.2.figure-PPD-",escapedmi, "-noLID", sep=""), family="Times", scale=1, caption=paste("Liens significatifs entre PPD et MM, au niveau", escapeLatex(mi[i]), "(sans les constituants initiaux)"))
	kill.dev()

	# Marquage final
	tt<-refactor(tw[tw[,"MI"]==mi[i] & tw[,"LCF"]==0 & tw$LIF==0,c("MM","PPF")])
	t<-table(tt);

		# tabulation
	sink(paste("out/5.3.2.table-PPF-",escapedmi,"-noLIF.tex", sep=""))
	catlat(toLatex(tricroise(t, fisher=F), caption=paste("Tabulation entre PPF et MM, au niveau",escapedmi3,"(sans les constituants finaux)"), test=F, label=paste("tab:0000-general-tableau-annexe-PPF-sansLID",escapedmi2,sep="")))
	sink()
	sink(paste("out/5.3.2.table-PPF-",escapedmi,"-noLIF-lt10.tex", sep=""))
	catlat(toLatex(tricroise(t[rowSums(t)<10,], fisher=F), caption=paste("Tabulation entre PPF et MM, au niveau",escapedmi3,"(constructions attestées moins de dix fois, sans les constituants finaux)"), test=F, label=paste("tab:0000-general-tableau-annexe-PPF-sansLID-moinsde10-",escapedmi2,sep="")))
	sink()
		# Graphique
	smry[["ppf"]][[mi[i]]]<-plotchi(t)
	toLatexFig(paste("out/5.3.2.figure-PPF-",escapedmi, "-noLIF", sep=""), family="Times", scale=1, caption=paste("Liens significatifs entre PPF et MM, au niveau", escapeLatex(mi[i]), "(sans les constituants finaux)"))
	kill.dev()
}


	#--  5.3.3.2 Synthèse synoptique des tableaux précédents

tt<-data.frame(MM=character(0),MI=character(0),P=character(0),C=numeric(0),D=character(0), T=numeric(0), R=numeric(0), check.rows=T, row.names=NULL)
# P = ponctuation, C = contribution (probabilité), D = direction, T = threshold (seuil alpha)

ponct.names<-names(smry)
for (i in 1:length(smry)){
	ponct<-smry[[i]]
	mi.names<-names(ponct)
	for (j in 1:length(ponct)) {
		mi<-ponct[[j]]
		dir.names<-names(mi)
		for (k in 1:length(mi)) {
			dir<-mi[[k]]
			mm.names<-rownames(dir)
			for (l in 1:dim(dir)[1]) {
				contrib<-dir[l,1]
				threshold<-1-(1-.05)**(1/length(unlist(mi)))
				ratio<-dir[l,4]
				tt<-rbind(tt, cbind(MM=mm.names[l], MI=mi.names[j], P=ponct.names[i], C=contrib, D=dir.names[k],T=threshold, R=ratio))
			}
		}
	}
}
tt.bak<-tt
tt[,"C"]<-ifelse(as.numeric(tt[,"C"])<as.numeric(tt[,"T"]),1000,ifelse(as.numeric(tt[,"C"])<.05,100,1))
ttppd<-tt[tt[,"P"]=="ppd",]
dfppd<-table(ttppd[,1:2])
dfppd<-ifelse(is.na(dfppd), NA, NA)
for (i in 1:dim(ttppd)[1]) {
	value<-ifelse(ttppd[i,"D"]=="neg",ttppd[i,"C"]*-1,ttppd[i,"C"])
	dfppd[ttppd[i,"MM"],ttppd[i,"MI"]]<-value
}
ttppf<-tt[tt[,"P"]=="ppf",]
dfppf<-table(ttppf[,1:2])
dfppf<-ifelse(is.na(dfppf), NA, NA)
for (i in 1:dim(ttppf)[1]) {
	value<-ifelse(ttppf[i,"D"]=="neg",ttppf[i,"C"]*-1,ttppf[i,"C"])
	dfppf[ttppf[i,"MM"],ttppf[i,"MI"]]<-value
}

plotbyMM(dfppd, "arg", 3)
toLatexFig(paste("out/5.3.3.2.synoptic-PPD-noLID"), pos="p", family="Times", label="tab:synoptPPD-sansLID", caption=paste("Tableau synoptique des tendances générales, PPD (sans les constituants initiaux)"))
kill.dev()
plotbyMM(dfppf, "arg", 3)
toLatexFig(paste("out/5.3.3.2.synoptic-PPF-noLIF"), pos="p", family="Times", label="tab:synoptPPF-sansLIF", caption=paste("Tableau synoptique des tendances générales, PPF (sans les constituants finaux)"))

#======================================================================================#
#  5.3.3.1 Régularité des attractions et répulsions
#======================================================================================#

tt<-tt[tt[,"C"]==1000,]
attach(tt)
#general
pos.gen<-as.numeric(tt[D=="pos","R"])
neg.gen<-100-as.numeric(tt[D=="neg","R"])
#ppd
pos.ppd<-as.numeric(tt[D=="pos" & P=="ppd","R"])
neg.ppd<-100-as.numeric(tt[D=="neg" & P=="ppd","R"])
#ppf
pos.ppf<-as.numeric(tt[D=="pos" & P=="ppf","R"])
neg.ppf<-100-as.numeric(tt[D=="neg" & P=="ppf","R"])
detach(tt)

histdens<- function(data, ...) {
	d<-density(data, from=0, to=100);
	fact<-max(data)/max(d$y)
	h<-hist((data), xlab="", ylab="Densité",  freq=F, plot=T, col="gray", font.main=3,...)
	i<-1
	while (h$intensities[i]==0 | h$counts[i]==0) {i<-i+1}
	rat<-(h$counts[i])/(h$intensities[i])
	maxvalue<-max(h$counts)
	modulus<-round(maxvalue/10)
	range<-1:maxvalue
	if (modulus != 0) {range<-range[range %% modulus == 0]}
	axis(4, at=c(0,range/rat), labels=c(0,range))
	lines(d$x, d$y)
	box()
}

kill.dev()
layout(matrix(c(1,2,3,4,5,6,7,8,9), 3,3, byrow=T ))
par(las=1, font.main=3)
histdens(pos.gen, main="Attraction")
histdens(neg.gen, main="Répulsion")
boxplot(pos.gen, neg.gen,  names=c("Attraction","Répulsion"), col="gray", notch=T, horizontal=F, main=paste("Test de Wilcoxon: p = ", format(wilcox.test(pos.gen, neg.gen)$p.value,dig=3)))

toLatexFig(paste("out/5.3.3.1.regularity"), family="Times", pos="H", caption=paste("Proportions de marquage"))


########################################################################################
########################################################################################
#  Chapitre 6
########################################################################################
########################################################################################

########################################################################################
#  6.1.1 Phrase et proposition personnelle
########################################################################################

#======================================================================================#
#  6.1.1.1 Marquage initial
#======================================================================================#


	#-- Fréquence du marquage

tw2<-tw[tw[,"LCD"]!=1,]
tw2[,"Début de phrase"]<-check(tw2, "LED.1", "RMD")
tw2[,"Début de prop. arg."]<-check(tw2, "MI.pers-arg", "RMD")
tw2[,"Début de prop. arg."]<-tw2[,"Début de prop. arg."] & check(tw2, "MN.pers", "RMD")
tw2[,"Début de prop. imm."]<-check(tw2, "MI.pers", "RMD")
tw2[,"Début de prop. imm."]<-tw2[,"Début de prop. imm."] & check(tw2, "MN.pers", "RMD")
tw2[,"any>"]<-tw2[,"Début de phrase"]+tw2[,"Début de prop. imm."]+tw2[,"Début de prop. arg."]

sink("out/6.1.1.1.table-phrasexPPD.tex")
catlat(toLatex(tricroise(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1,c("Début de phrase","PPD")]))), caption="Tri croisé début de phrase
$\\times$ PPD", label="tab:6.1.1.1.table-phrasexPPD"))
sink()
sink("out/6.1.1.1.table-propargxPPD.tex")
catlat(toLatex(tricroise(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1,c("Début de prop. arg.","PPD")]))), caption="Tri croisé début de prop. argumentale $\\times$ PPD"))
sink()
sink("out/6.1.1.1.table-propimmxPPD.tex")
catlat(toLatex(tricroise(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1,c("Début de prop. imm.","PPD")]))), caption="Tri croisé début de prop.
immédiate $\\times$ PPD", label="tab:6.1.1.1.table-propimmxPPD"))
sink()

#-- Tendances par charte
ch<-plotchi(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de phrase"]==T,c("RB","PPD")]))) 
n<-rownames(ch$pos[ch$pos[,1]<.05,])

sink("out/6.1.1.1.table-phrasexPPD-reduction.tex")
catlat(toLatex(tricroise(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & !(tw2$RB%in%n),c("Début de phrase","PPD")]))), caption=paste("Tri croisé début de phrase $\\times$ PPD, (sans les documents",paste(n, collapse=", "),")", sep="")))
sink()


toLatexFig("out/6.1.1.1.figure-phrasexPPD", family="Times", caption="Liens entre PPD et la phrase par charte")
ch<-plotchi(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de prop. arg."]==T,c("RB","PPD")]))) 
toLatexFig("out/6.1.1.1.figure-propargxPPD", family="Times", caption="Liens entre PPD et la proposition argumentale par charte")
ch<-plotchi(table(refactor(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de prop. imm."]==T,c("RB","PPD")]))) 
rownames(ch$pos[ch$pos[,1]<.05,])
toLatexFig("out/6.1.1.1.figure-propimmxPPD", family="Times", caption="Liens entre PPD et la proposition immédiate par charte")


#-- Tabulation

cont2<-rbind(
	table(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de phrase"]==TRUE,c("Début de phrase","PPD")]),
	table(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de prop. arg."]==TRUE, c("Début de prop. arg.","PPD")]),
	table(tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de prop. imm."]==TRUE, c("Début de prop. imm.","PPD")])
)

rownames(cont2)<-c("phrase","prop. arg.","prop. imm.")

sink("out/6.1.1.1.table-propositionsxPPD.tex")
caption <- paste("Tri croisé types de propositions $\\times$ PPD")
catlat(toLatex(tricroise(cont2), caption=caption, label="tab:6.1.1.1.table-propositionsxPPD"))
sink()
# décomposition
sink("out/6.1.1.1.table-propositionsxPPD-part1.tex")
caption <- paste("Tri croisé prop. argumentales ou non $\\times$ PPD")
catlat(toLatex(tricroise(cont2[2:3,], mult=2), caption=caption))
sink()
cont2<-rbind(
	cont2[1,],
	colSums(cont2[2:3,])
)
rownames(cont2)<-c("phrase","prop.")
sink("out/6.1.1.1.table-propositionsxPPD-part2.tex")
caption <- paste("Tri croisé phrases et autres prop. $\\times$ PPD")
catlat(toLatex(tricroise(cont2, mult=2), caption=caption))
sink()

# Dépouillements
do.app("dep-6.1.1.1.removed","PPD", tw2[tw2[,"any>"]>1 & tw2[,"T"]==1,], "Énoncés et propositions retirées pour récursion (premier mot)")
do.app("dep-6.1.1.1.tous","PPD", tw2[tw2[,"any>"]==1 & tw2[,"T"]==1,], "Énoncés et propositions (premier mot)")
do.app("dep-6.1.1.1.phrases","PPD", tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de phrase"]==TRUE,], "Énoncés (premier mot)")
do.app("dep-6.1.1.1.propimm","PPD", tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de prop. imm."]==TRUE,], "Propositions immédiates (premier mot)")
do.app("dep-6.1.1.1.proparg","PPD", tw2[tw2[,"any>"]==1 & tw2[,"T"]==1 & tw2[,"Début de prop. arg."]==TRUE,], "Propositions argumentales (premier mot)")


#======================================================================================#
# 6.1.1.2 Marquage final
#======================================================================================#

	#-- Fréquence du marquage

tw3<-tw[tw[,"LCF"]!=1,]

tw3[,"Fin de phrase"]<-check(tw3, "LEF.1", "RMF")
tw3[,"Fin de prop. arg."]<-check(tw3, "MI.pers-arg", "RMF")
tw3[,"Fin de prop. arg."]<-tw3[,"Fin de prop. arg."] & check(tw3, "MN.pers", "RMF")
tw3[,"Fin de prop. imm."]<-check(tw3, "MI.pers", "RMF")
tw3[,"Fin de prop. imm."]<-tw3[,"Fin de prop. imm."] & check(tw3, "MN.pers", "RMF")

tw3[,"any<"]<-tw3[,"Fin de phrase"] + tw3[,"Fin de prop. imm."]+tw3[,"Fin de prop. arg."]


sink("out/6.1.1.2.table-phrasexPPF.tex")
catlat(toLatex(tricroise(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1,c("Fin de phrase","PPF")]))), caption="Tri croisé fin de phrase $\\times$ PPF"))
sink()
sink("out/6.1.1.2.table-propargPPF.tex")
catlat(toLatex(tricroise(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1,c("Fin de prop. arg.","PPF")]))), caption="Tri croisé fin de prop. argumentale $\\times$ PPF"))
sink()
sink("out/6.1.1.2.table-propimmPPF.tex")
catlat(toLatex(tricroise(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1,c("Fin de prop. imm.","PPF")]))), caption="Tri croisé fin de prop. immédiate $\\times$ PPF"))
sink()



#-- Tendances par charte
ch<-plotchi(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de phrase"]==T,c("RB","PPF")]))) 
toLatexFig("out/6.1.1.2.figure-phrasexPPF", family="Times", caption="Liens entre PPF et la phrase par charte")
n<-"1272-03"

sink("out/6.1.1.2.table-phrasexPPF-reduction.tex")
catlat(toLatex(tricroise(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & !(tw3$RB%in%n),c("Fin de phrase","PPF")]))), caption=paste("Tri croisé fin de phrase $\\times$ PPF, (sans le document ",paste(n, collapse=", "),")", sep="")))
sink()

ch<-plotchi(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. arg."]==T,c("RB","PPF")]))) 
toLatexFig("out/6.1.1.2.figure-propargxPPF", family="Times", caption="Liens entre PPF et la proposition argumentale")
n<-"1247-06"
sink("out/6.1.1.2.table-propargRBxPPF-all.tex")
catlat(toLatex(tricroise(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. arg."]==T,c("RB","PPF")])), fish=F), test=F, caption="Tri croisé entre RB et PPF pour les mots en fin de prop. arg."))
sink()

sink("out/6.1.1.2.table-propargxPPF-reduction.tex")
catlat(toLatex(tricroise(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & !(tw3$RB%in%n),c("Fin de phrase","PPF")]))), caption=paste("Tri croisé fin de proposition argumentale $\\times$ PPF, (sans le document ",paste(n, collapse=", "),")", sep="")))
sink()


plotchi(table(refactor(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. imm."]==T,c("RB","PPF")]))) 
toLatexFig("out/6.1.1.2.figure-propimmxPPF", family="Times", caption="Liens entre PPF et la proposition immédiate par charte")


#-- Tabulation
cont<-rbind(
table(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de phrase"]==T,c("Fin de phrase","PPF")]),
table(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. arg."]==T, c("Fin de prop. arg.","PPF")]),
table(tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. imm."]==T, c("Fin de prop. imm.","PPF")])
)

rownames(cont)<-c("phrase","prop. arg.","prop. imm.")

sink("out/6.1.1.2.table-propositionsxPPF.tex")
caption <- paste("Tri croisé types de propositions $\\times$ PPF")
catlat(toLatex(tricroise(cont), caption=caption))
sink()
# décomposition
sink("out/6.1.1.2.table-propositionsxPPF-part1.tex")
caption <- paste("Tri croisé propositions argumentales ou non $\\times$ PPF")
catlat(toLatex(tricroise(cont[2:3,], mult=2), caption=caption))
sink()
cont<-rbind(
	cont[1,],
	colSums(cont[2:3,])
)
rownames(cont)<-c("phrase","autre proposition")
sink("out/6.1.1.2.table-propositionsxPPF-part2.tex")
caption <- paste("Tri croisé phrases et autre proposition $\\times$ PPF")
catlat(toLatex(tricroise(cont, mult=2), caption=caption))
sink()

# Dépouillements
do.app("dep-6.1.1.2.removed","PPF", tw3[tw3[,"any<"]>1 & tw3[,"T"]==1,], "Énoncés et propositions retirées pour récursion (dernier mot)")
do.app("dep-6.1.1.2.tous","PPF", tw3[tw3[,"any<"]==1 & tw3[,"T"]==1,], "Énoncés et propositions (dernier mot)")
do.app("dep-6.1.1.2.phrases","PPF", tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de phrase"]==TRUE,], "Énoncés (dernier mot)")
do.app("dep-6.1.1.2.propimm","PPF", tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. imm."]==TRUE,], "Propositions immédiates (dernier mot)")
do.app("dep-6.1.1.2.proparg","PPF", tw3[tw3[,"any<"]==1 & tw3[,"T"]==1 & tw3[,"Fin de prop. arg."]==TRUE,], "Propositions argumentales (dernier mot)")



 #-- Représentations graphiques (fréquence par chartes)
 
ppf1<-table(tw3[tw3[,"T"]==1 & tw3[,"any<"]==1 & tw3[,"Fin de phrase"]==T,c("RB","PPF")])
ppd1<-table(tw2[tw2[,"T"]==1 & tw2[,"any>"]==1 & tw2[,"Début de phrase"]==T,c("RB","PPD")])
ppf2<-table(tw3[tw3[,"T"]==1 &tw3[,"any<"]==1 &  tw3[,"Fin de prop. arg."]==T,c("RB","PPF")])
ppd2<-table(tw2[tw2[,"T"]==1 & tw2[,"any>"]==1 & tw2[,"Début de prop. arg."]==T,c("RB","PPD")])
ppf3<-table(tw3[tw3[,"T"]==1 &tw3[,"any<"]==1 &  tw3[,"Fin de prop. imm."]==T,c("RB","PPF")])
ppd3<-table(tw2[tw2[,"T"]==1 & tw2[,"any>"]==1 &  tw2[,"Début de prop. imm."]==T,c("RB","PPD")])

# Tableaux (annexes)
sink.it("out/6.1.1.1.c.proportions-phrase", ppd1)
sink.it("out/6.1.1.1.c.proportions-proparg", ppd2)
sink.it("out/6.1.1.1.c.proportions-propimm", ppd3)
sink.it("out/6.1.1.2.c.proportions-phrase", ppf1)
sink.it("out/6.1.1.2.c.proportions-proparg", ppf2)
sink.it("out/6.1.1.2.c.proportions-propimm", ppf3)


# initial
kill.dev()
par(mfrow=c(2,2))
d1<-density(na.omit(ppd1[,2]/rowSums(ppd1)*100), from=0, to=100)
d2<-density(na.omit(ppd2[,2]/rowSums(ppd2)*100), from=0, to=100)
d3<-density(na.omit(ppd3[,2]/rowSums(ppd3)*100), from=0, to=100)
plot(c(d1$x,d2$x,d3$x), c(d1$y,d2$y,d3$y), ylab="Densité", xlab="", t="n")
lines(d1, lwd=2)
lines(d2, col='dimgray', lwd=2, lty=2)
lines(d3)
legend("topright", legend=c('phrase',"prop. arg.", "prop. imm."), col=c("black","dimgray","black"), lwd=c(2,2,1), lty=c(1,2,1), cex=.8)

p1<-ppd3[,2]/rowSums(ppd3)*100
p2<-ppd2[,2]/rowSums(ppd2)*100
p3<-ppd1[,2]/rowSums(ppd1)*100
par(las=1)
boxplot(
	p1,p2,p3,
	notch=T , 
	boxwex=.7,
	col="lightgray", 
	horizontal=F
)
axis(1, at=1:3, padj=1.2, lab=c("prop. imm.","prop. arg.", "phrase"))
axis(1, tick=F, at=c(1:3), padj=-.3, lab=c(
	length(na.omit(p1)),
	length(na.omit(p2)),
	length(na.omit(p3))
), font=3, cex.axis=.6)
toLatexFig("out/6.1.1.1.figure-proportions-PPD", family="Times", caption="Graphiques des fréquences de marquage initial des propositions")


kr<-kruskal.test(
	list(p1,p2,p3)
)$p.value

w1<-wilcox.test(p1,p2)$p.value
w2<-wilcox.test(p1,p3)$p.value
w3<-wilcox.test(p2,p3)$p.value

adjusted<-c((1-.05), (1-.01), (1-.001))
adjusted<-1-adjusted^(1/3)

post<-cbind(starredprb(c(kr,w3,w2,w1)),starredprb(c(NA,w3,w2,w1), adjusted, stars=T))
rownames(post)<-c("Kruskal-Wallis",
	"Wilcoxon: phrase et p. arg.",
	"Wilcoxon: phrase et prop. imm.",
	"Wilcoxon: prop. arg. et prop. imm."
)
colnames(post)<-c("PRB", "seuil ajusté")


sink("out/6.1.1.1.table-proportions-PPD")
catlat("\\begin{table}[H]\\centering")
catlat(toLatex(post))
catlat("\\caption{Probabilités de différence de marquage initial des propositions}")
catlat("\\end{table}")
sink()

# final
kill.dev()
par(mfrow=c(2,2))
d1<-density(na.omit(ppf1[,2]/rowSums(ppf1)*100), from=0, to=100)
d2<-density(na.omit(ppf2[,2]/rowSums(ppf2)*100), from=0, to=100)
d3<-density(na.omit(ppf3[,2]/rowSums(ppf3)*100), from=0, to=100)
plot(c(d1$x,d2$x,d3$x), c(d1$y,d2$y,d3$y), ylab="Densité", xlab="", t="n")
lines(d1, lwd=2)
lines(d2, col='dimgray', lwd=2, lty=2)
lines(d3)
legend("topleft", legend=c('phrase',"p. arg.", "p. imm."), col=c("black","dimgray","black"), lwd=c(2,2,1), lty=c(1,2,1), cex=.8)
p1<-ppf3[,2]/rowSums(ppf3)*100
p2<-ppf2[,2]/rowSums(ppf2)*100
p3<-ppf1[,2]/rowSums(ppf1)*100

par(las=1)
boxplot(
	p1,p2,p3,
	notch=T , 
	boxwex=.7,
	col="lightgray", 
	horizontal=F,
	pars=list(mar=c(2,4,2,1))
)
axis(1, at=1:3, padj=1.2, lab=c("p. imm.","p. arg.", "phrase"))
axis(1, tick=F, at=c(1:3), padj=-.3, lab=c(
	length(na.omit(p1)),
	length(na.omit(p2)),
	length(na.omit(p3))
), font=3, cex.axis=.6)

toLatexFig("out/6.1.1.2.figure-proportions-PPF", family="Times", caption="Graphiques des fréquence de marquage final des propositions", label="fig:6.1.1.2.figure-proportions-PPF")

kr<-kruskal.test(
	list(p1,p2,p3)
)$p.value

w1<-wilcox.test(p1,p2)$p.value
w2<-wilcox.test(p1,p3)$p.value
w3<-wilcox.test(p2,p3)$p.value

adjusted<-c((1-.05), (1-.01), (1-.001))
adjusted<-1-adjusted^(1/3)

post<-cbind(starredprb(c(kr,w3,w2,w1)),starredprb(c(NA,w3,w2,w1), adjusted, stars=T))
rownames(post)<-c("Kruskal-Wallis",
	"Wilcoxon: phrase et p. arg.",
	"Wilcoxon: phrase et p. imm.",
	"Wilcoxon: p. arg. et p. imm."
)
colnames(post)<-c("PRB", "seuil ajusté")
print(post)

sink("out/6.1.1.2.table-proportions-PPF")
catlat("\\begin{table}[H]\\centering")
catlat(toLatex(post))
catlat("\\caption{Probabilités de différence de marquage final des propositions}")
catlat("\\end{table}")
sink()

# Analyse des deux classes de marquage final des p. arg.

cc<-cbind(
	ppf1[,2]/rowSums(ppf1)*100,
	ppf2[,2]/rowSums(ppf2)*100, 
	ppf3[,2]/rowSums(ppf3)*100
)

p1<-cc[!is.na(cc[,2]) & cc[,2]==0,]
p2<-cc[!is.na(cc[,2]) & cc[,2]!=100 & cc[,2]!=0,]
p3<-cc[!is.na(cc[,2]) & cc[,2]==100,]
p4<-cc[is.na(cc[,2]),]

kill.dev()
layout(matrix(c(1,2,1,2,0,0), 3, 2, byrow = TRUE))
boxplot(
	p4[,1],
	p1[,1],
	p2[,1],
	p3[,1],
	notch=T,
	col="lightgray",
	horizontal=F,
	ylab="Fréquence de marquage des phrases",
	xlab="Fréquence de marquage des p. arg."
)
abline(v=1.5)
axis(1, at=1:4, padj=1.2, lab=c("NA","0%","]0,100%[","100%"), cex=.8)
axis(1, tick=F, at=c(1:4), padj=-.3, lab=c(
	dim(p4)[1],
	dim(p1)[1],
	dim(p2)[1],
	dim(p3)[1]
), font=3, cex.axis=.6)

boxplot(
	p4[,3],
	p1[,3],	
	p2[,3],
	p3[,3],
	notch=T,
	col="lightgray",
	horizontal=F,
	ylab="Fréquence de marquage des p. imm.",
	xlab="Fréquence de marquage des p. arg."
)
abline(v=1.5)
axis(1, at=1:4, padj=1.2, lab=c("NA","0%","]0,100%[","100%"), cex=.8)
axis(1, tick=F, at=c(1:4), padj=-.3, lab=c(
	dim(p4)[1],
	dim(p1)[1],
	dim(p2)[1],
	dim(p3)[1]
), font=3, cex.axis=.6)

toLatexFig("out/6.1.1.2.figure-proportions-PPF-immvsparg", label="tab:6.1.1.2.figure-proportions-PPF-immvsparg", family="Times", caption="Graphiques des fréquences de marquage final de la phrase (gauche) et de la p. imm. (droite) par rapport à p. arg.")

kr<-kruskal.test(
	list(p1[,1],p2[,1],p3[,1],p4[,1])
)$p.value
w1<-wilcox.test(p1[,1],p2[,1])$p.value
w2<-wilcox.test(p1[,1],p3[,1])$p.value
w3<-wilcox.test(p2[,1],p3[,1])$p.value
w4<-wilcox.test(p4[,1],p1[,1])$p.value
w5<-wilcox.test(p4[,1],p3[,1])$p.value
w6<-wilcox.test(p4[,1],p2[,1])$p.value

adjusted<-c((1-.05), (1-.01), (1-.001))
adjusted<-1-adjusted^(1/6)


post<-cbind(starredprb(c(kr,w1,w2,w3,w4,w5,w6)),starredprb(c(NA,w1,w2,w3,w4,w5,w6), adjusted, stars=T))
rownames(post)<-c("Kruskal-Wallis",
	"Wilcoxon: 0% et ]0,100%[",
	"Wilcoxon: 0% et 100%",
	"Wilcoxon: ]0,100%[ et 100%",
	"Wilcoxon: NA et 0%",
	"Wilcoxon: NA et 100%",
	"Wilcoxon: NA et ]0,100%["
)
colnames(post)<-c("PRB", "PRB ajustée")

sink("out/6.1.1.2.table-proportions-PPF-immvsparg-part1")
catlat(toLatex(post, float="longtable", caption="Probabilités de différence de fréquence de marquage final de la phrase par rapport à p. arg."))
sink()

kr<-kruskal.test(
	list(p1[,3],p2[,3],p3[,3],p4[,3])
)$p.value
w1<-wilcox.test(p1[,3],p2[,3])$p.value
w2<-wilcox.test(p1[,3],p3[,3])$p.value
w3<-wilcox.test(p2[,3],p3[,3])$p.value
w4<-wilcox.test(p4[,3],p1[,3])$p.value
w5<-wilcox.test(p4[,3],p3[,3])$p.value
w6<-wilcox.test(p4[,3],p2[,3])$p.value

adjusted<-c((1-.05), (1-.01), (1-.001))
adjusted<-1-adjusted^(1/6)

post<-cbind(starredprb(c(kr,w1,w2,w3,w4,w5,w6)),starredprb(c(NA,w1,w2,w3,w4,w5,w6), adjusted, stars=T))
rownames(post)<-c(
  "Kruskal-Wallis"            ,
	"Wilcoxon: 0% et ]0,100%["  ,
	"Wilcoxon: 0% et 100%"      ,
	"Wilcoxon: ]0,100%[ et 100%",
	"Wilcoxon: NA et 0%"        ,
	"Wilcoxon: NA et 100%"      ,
	"Wilcoxon: NA et ]0,100%["
)
colnames(post)<-c("PRB", "PRB ajustée")
sink("out/6.1.1.2.table-proportions-PPF-immvsparg-part2")
catlat(toLatex(post, float="longtable", caption="Fréquence de marquage final de la p. imm. par rapport à p. arg.: statistiques}"))
sink()



########################################################################################
#  6.1.2 Prédicat
########################################################################################


#======================================================================================#
#  Tableaux d'environnement immédiat
#======================================================================================#

tp<-merge(
	tw,
	tw[,c("RB","MH","MI","RMS","MF","MN","MNo","MR","MM")],
	all.x=T,
	by.x=c("RB","MH","MI","RMD"),
	by.y=c("RB","MH","MI","RMS"),
	suffix=c("","P"),
)

do.app("dep-6.0.1.1.notMMP","PPD", tp[is.na(tp$MMP),], "Constituants précédés d'un constituant d'un autre niveau")
tp<-tp[!is.na(tp$MMP),]


tn<-merge(
	tw,
	tw[,c("RB","MH","MI","RMP","MF","MN","MR","MM")],
	all.x=T,
	by.x=c("RB","MH","MI","RMF"),
	by.y=c("RB","MH","MI","RMP"),
	suffix=c("","S"),
)
do.app("dep-6.0.1.1.notMMS","PPF", tn[is.na(tn$MMS),], "Constituants suivis d'un constituant d'un autre niveau")
tn<-tn[!is.na(tn$MMS),]

#======================================================================================#
#  6.1.2.1 P0 et PPD
#======================================================================================#
currentsec<-"6.1.2.1"

t<-refactor(tw[tw[,"MF"]=="P0" & tw[,"LID"]==0,])
#-- Tri à plat

sink("out/6.1.2.1.triplat-P0-PPD.tex")
catlat(toLatex(triplat(t[,"PPD"])[[1]], barplot.file="out/6.1.2.1.triplat-P0-PPD-barplot", caption="Tri à plat de PPD pour les prédicats non initiaux"))
sink()


#-- Quelles sont les chartes qui repoussent ou attirent significativement le marquage P0?
ch<-plotchi(table(t[,c("RB","PPD")]))
toLatexFig("out/6.1.2.1.figure-P0-RBxPPD", family="Times", label='tab:P0-PPD-RB', pos='H', caption="Liens entre PPD et le prédicat par document")
chartes<-rownames(ch$neg[ch$neg[,1]<.05,])

#-- Quelles sont les constructions environnantes (devant) le marquage P0?
plotchi(table(refactor(tp[tp[,"MF"]=="P0" & tp[,"LID"]==0,c("MMP","PPD")])))
toLatexFig("out/6.1.2.1.figure-P0-MMPxPPD", family="Times", label='tab:P0-PPD-MMp', pos='H', caption="Liens entre PPD et le prédicat par construction précédente")
sink("out/6.1.2.1.table-P0-MMPxPPD.tex")
catlat(toLatex(table(refactor(tp[tp[,"MF"]=="P0" & tp[,"LID"]==0,c("MMP","PPD")])), caption="Tri croisé entre MMP et PPD, pour les prédicats"))
sink()

do.app("dep-6.1.2.1.P0","PPD", tw[tw[,"MF"]=="P0" & tw[,"LID"]==0,], "Prédicat")
do.app("dep-6.1.2.1.P0-MMP00S100","PPD", tp[tp[,"MMP"]=="0,0,S1,0,0" & tp[,"MF"]=="P0",], "Prédicat précédé de 0,0,S1,0,0")
do.app("dep-6.1.2.1.P0-MMP00P000","PPD", tp[tp[,"MMP"]=="0,0,P0,0,0" & tp[,"MF"]=="P0",], "Prédicat précédé de 0,0,P0,0,0")

#-- Dépouillements
#catlat(khprintid(tp[tp[,"MMP"]=="0,0,C5,0,1" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))
#catlat(khprintid(tp[tp[,"MMP"]=="0,0,S1,0,0" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))
#catlat(khprintid(tp[tp[,"MMP"]=="1,0,C5,0,1" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))
#catlat(khprintid(tp[tp[,"MMP"]=="1,0,A4,0,0" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))
#catlat(khprintid(tp[tp[,"MMP"]=="0,0,R3,0,1" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))
#catlat(khprintid(tp[tp[,"MMP"]=="1,0,C5,0,0" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))
#catlat(khprintid(tp[tp[,"MMP"]=="0,0,P0,0,0" & tp[,"MF"]=="P0" & tp[,"PPD"]==1,], bare=T))

#======================================================================================#
#  6.1.2.2 P0 et PPF
#======================================================================================#
currentsec<-"6.1.2.1"

t<-refactor(tw[tw[,"MF"]=="P0" & tw[,"LIF"]==0,])

#-- Tri à plat
sink("out/6.1.2.2.triplat-P0-PPF.tex")
catlat(toLatex(triplat(t[,"PPF"])[[1]], barplot.file="out/6.1.2.2.triplat-P0-PPF-barplot", caption="Tri à plat de PPF pour les prédicats non finaux"))
sink()

#-- Quelles sont les chartes qui repoussent ou attirent significativement le marquage P0?
ch<-plotchi(table(t[,c("RB","PPF")]))
toLatexFig("out/6.1.2.2.figure-P0-RBxPPF", family="Times", label='tab:P0-PPF-RB', pos='H', caption="Marquage final du prédicat par document")

chartes<-rownames(ch$pos[ch$pos[,1]<.05,])

#-- Quelles sont les constructions environnantes (derrière) le marquage P0?
plotchi(table(refactor(tn[tn[,"MF"]=="P0" & tn[,"LIF"]==0,c("MMS","PPF")])))
toLatexFig("out/6.1.2.2.figure-P0-MMSxPPF", family="Times", label='tab:P0-PPF-MMn', pos='H', caption="Marquage final du prédicat par construction suivante")

#catlat(khprintid(tn[tn[,"MMS"]=="0,1,C5,pers,1" & tn[,"MF"]=="P0" & tn[,"PPF"]==1,], bare=T))
#catlat(khprintid(tn[tn[,"MMS"]=="0,0,A4,0,1" & tn[,"MF"]=="P0" & tn[,"PPF"]==1,], bare=T))
#catlat(khprintid(tn[tn[,"MMS"]=="0,0,P0,0,0" & tn[,"MF"]=="P0" & tn[,"PPF"]==1,], bare=T))
#catlat(khprintid(tn[tn[,"MMS"]=="0,0,Co,0,0" & tn[,"MF"]=="P0" & tn[,"PPF"]==1,], bare=T))


#======================================================================================#
#  6.1.2.3 Cas particulier de 10P000 dans MI.¬pers et PPD
#======================================================================================#
t<-refactor(tw[tw[,"MM"]=="1,0,P0,0,0" & tw[,"MI"]=="¬pers",])

#-- Tri à plat
sink("out/6.1.2.3.10P000-PPD-triplat.tex")
catlat(toLatex(triplat(t[,"PPD"])[[1]], barplot.file="out/6.1.2.3.10P000-PPD-barplot", caption="Tri à plat de PPD pour les 1,0,P0,0,0 dans \\textlnot{}pers"))
sink()


ch<-plotchi(table(t[,c("RB","PPD")]))

#catlat(khprintid(t[t[,"PPD"]==1,], bare=T))


########################################################################################
#  6.1.3 Actants
########################################################################################

currentsec<-"6.1.3"

#======================================================================================#
#  PPD
#======================================================================================#

	#--­ 0,0,S1,0,0 : phrase
w<-do.analysis(tw, "0,0,S1,0,0", c("phrase"), "PPD")
# plusieurs chartes attirent
# environnements de type repéré dans les attractions
charters<-get.trend(w)
ch<-plotchi(table(tw[tw$LCD!=1 & tw$LID!=1 & tw$MI == "phrase" & !(tw$RB %in% charters),c("MM","PPD")]), do.plot=F)	
sink("out/6.1.3.00S100PPDstable.tex")
cat("$")
cat(check.stability(ch, "0,0,S1,0,0")[1])
cat("$%")
sink()
# stabilité de l'attraction malgré le retrait des chartes
# => coordonné ou dans un contexte attirant le marquage => ce n'est pas le S1 qui est marqué

	#--­ 0,1,S1,pers,1 : phrase
w<-do.analysis(tw, "0,1,S1,pers,1", c("phrase"), "PPD")
do.app("dep-6.1.3.3.01S1pers1","PPD", tp[tp[,"MMP"]=="0,1,S1,pers,1" & tp[,"MI"]=="phrase",], "Structure 0,1,S1,pers,1")
# pas assez de chartes
# presque toujours derrière un R3
# => Lié à des constructions spéciales

	#--­ 0,0,R2,0,0 : phrase, ¬pers
w<-do.analysis(tw, "0,0,R2,0,0", c("phrase", "¬pers"), "PPD")
charters<-get.trend(w)
# quatre des chartes relevées sont des testaments
mi<-c("phrase","¬pers")
p<-NULL
for (i in 1:2) {
	ch<-plotchi(table(tw[tw$LCD!=1 & tw$LID!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPD")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,R2,0,0")
}
sink.it("out/6.1.3.00R200PPDstable.txt", p)

do.app("dep-6.1.3.4.00R200","PPD", tw[tw$MM=="0,0,R2,0,0" & tw$MI=='¬pers' & !(tw$RB %in% charters),], paste("Constituant 0,0,R2,0,0 au niveau MI.¬pers (",paste(charters, collapse=", "), " supprimés)", sep=""))

# Une fois les chartes retirées, il ne subsiste une attraction qu'au niveau ¬pers (cf. p)
#sink("out/6.1.3.00R200PPDnotpers.tex")
#khprintid(tw[tw$PPD==1 & tw$MI=="¬pers" & !(tw$RB %in% charters) & tw$MM=="0,0,R2,0,0",], bare=T)
#sink()
# Ces attestations montrent que les environnements génénèrent la ponctuation
# => pas spécifique

	#--­ 0,0,R2,pers,1 : pers
w<-do.analysis(tw, "0,0,R2,pers,1", c("pers"), "PPD")
#do.app("dep-6.1.3.6.00R2pers1", "PPD", tw[tw$MM=="0,0,R2,pers,1" & tw$MI=="pers",], "Constituants 0,0,R2,pers,1 au niveau MI.pers")
# Trop peu attesté pour faire des tests sur la distribution par charte ou sur le contexte
# Quand on regarde les attestations, certaines sont coordonnées => on verra que ça attire la ponctuation

	#--­ 0,1,R2,0,0 : phrase
w<-do.analysis(tw, "0,1,R2,0,0", c("phrase"), "PPD")
charters<-get.trend(w)
# Le seules chartes attirant PPD sont deux testaments déjà présents dans l'analyse de 00R200.
# Les contextes attirant sont les mêmes
ch<-plotchi(table(tw[tw$LCD!=1 & tw$LID!=1 & tw$MI == "phrase" & !(tw$RB %in% charters),c("MM","PPD")]), do.plot=F)
p<-check.stability(ch, "0,1,R2,0,0")

sink.it("out/6.1.3.01R200PPDstable.txt", p)

# L'attraction disparaît en dehors de ces documents
# => même type de phénomène que pour 00R200.

	#--­ 0,1,R2,pers,1 : ¬pers-arg
w<-do.analysis(tw, "0,1,R2,pers,1", c("¬pers-arg"), "PPD")


#======================================================================================#
#  PPF
#======================================================================================#
 
	#-- 0,0,S1,0,0 : phrase
w<-do.analysis(tw[,], "0,0,S1,0,0", c("phrase"), "PPF")
charters<-get.trend(w)
ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI=="phrase" & !(tw$RB %in% charters),c("MM","PPF")]), do.plot=T)
p<-check.stability(ch, "0,0,S1,0,0")
w<-do.select(tn[!(tw$RB %in% charters),], "0,0,S1,0,0", "phrase")
do.chi(w, "0,0,S1,0,0", "phrase", "PPF", "MMS")	

	#-- 0,0,R2,0,0 : phrase, pers-arg, ¬pers-arg, pers
w<-do.analysis(tw, "0,0,R2,0,0", c("phrase", "pers-arg", "¬pers-arg", "pers"), "PPF")
charters<-get.trend(w)
mi<-c("phrase","pers","¬pers-arg","pers-arg")
p<-NULL
for (i in 1:4) {
	ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPF")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,R2,0,0")
}
sink.it("out/6.1.3.00R200PPFstable.txt", p)

df<-do.select(tn[!(tn$RB %in% charters),], "0,0,R2,0,0", c("phrase", "pers-arg", "¬pers-arg", "pers"))
do.chi(df, "0,0,R2,0,0", c("phrase", "pers-arg", "¬pers-arg", "pers"), "PPF", "MMS")	


	#-- 0,0,R2,¬pers,0 : phrase, pers
w<-do.analysis(tw, "0,0,R2,¬pers,0", c("phrase", "pers"), "PPF")
charters<-get.trend(w)
mi<-c("phrase","pers")
p<-NULL
for (i in 1:2) {
	ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPF")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,R2,0,0")
}

	#-- 0,0,R2,pers,1 : phrase, pers
w<-do.analysis(tw, "0,0,R2,pers,1", c("phrase", "pers"), "PPF")

	#-- 0,0,R3,0,1 : phrase, pers-arg, ¬pers-arg, pers
w<-do.analysis(tw, "0,0,R3,0,1", c("phrase", "pers-arg", "¬pers-arg", "pers"), "PPF")
charters<-get.trend(w)
mi<-c("phrase", "pers-arg", "¬pers-arg", "pers")
p<-NULL
for (i in 1:4) {
	ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPF")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,R3,0,1")
}
sink.it("out/6.1.3.00R301PPFstable.txt", p)

plotchi(table(tn[tn$LIF!=1 & tn$LCF!=1 & !(tn$RB %in% charters) & tn$MM=="0,0,R3,0,1" & tn$MI=="phrase", c("MMS","PPF")]))
toLatexFig("out/6.1.3.00R301PPFreducedfigureMMS", family="Times", pos='H', caption="Liens significatifs entre MMS et PPF pour les constituants de type
0,0,R3,0,1 (niveau: phrase), réduit")
do.app("dep-6.1.3.00R301reduced", "PPF", tn[tn$LIF!=1 & tn$LCF!=1 & !(tn$RB %in% charters) & tn$MM=="0,0,R3,0,1" & tn$MI=="phrase",], "")

	#-- 1,0,R3,0,1 : phrase
w<-do.analysis(tw, "1,0,R3,0,1", c("phrase"), "PPF")

sink("out/6.1.3.10R301PPFtable-allMMS-reduced")
catlat(toLatex(tricroise(table(refactor(tn[tn$RB!="1272-03" & tn$MM=="1,0,R3,0,1" & tn$MI=="phrase",c("MMS","PPF")])),fisher=F), test=F, caption="Tri croisé MMS $\\times$ PPF, pour les constituants de type 1,0,R3,0,1 (niveau: phrase, Document 1272-03 retiré)"))
sink()

	#-- 0,0,A4,0,1 : pers-arg, ¬pers-arg, pers
w<-do.analysis(tw, "0,0,A4,0,1", c("pers-arg", "¬pers-arg", "pers"), "PPF")


########################################################################################
#  6.1.4 Circonstants
########################################################################################

currentsec<-"6.1.4"

#======================================================================================#
#  Incidentes traitées à part
#======================================================================================#

	#-- PPD: 0,0,C5,pers,0 : phrase, pers-arg
w<-do.analysis(tw, "0,0,C5,pers,0", c("phrase", "pers-arg"), "PPD")

	#-- PPF: 0,0,C5,pers,0 : phrase, pers-arg
w<-do.analysis(tw, "0,0,C5,pers,0", c("phrase", "pers-arg"), "PPF")



tw2[,"incidente>"]<-check(tw2, "MNo.incidente","RMD")
tw3[,"incidente<"]<-check(tw3, "MNo.incidente","RMF")
tw2[,"MI.phrase>"]<-check(tw2, "MI.phrase","RMD")
tw3[,"MI.phrase<"]<-check(tw3, "MI.phrase","RMF")

	#-- Initiale

cont<-rbind(
	table(tw2[tw2[,"T"]==1 & tw2[,"LCD"]!=1 & tw2[,"MI.phrase>"], "PPD"]),
	table(tw2[tw2[,"T"]==1 & tw2[,"LCD"]!=1 & tw2[,"incidente>"] & tw2[,"MI.phrase>"]==TRUE, "PPD"]),
	table(tw2[tw2[,"T"]==1 & tw2[,"LCD"]!=1 & tw2[,"incidente>"] & tw2[,"MI.phrase>"]==FALSE, "PPD"])
)

rownames(cont)<-c("phrase","incidente (phrase)", "incidente (autre)")

sink("out/6.1.4.00C5pers0-table-phrasevsincidentexPPD.tex")
catlat(toLatex(tricroise(cont), caption="Tri croisé phrases et incidentes $\\times$ PPD"))
sink()
sink("out/6.1.4.00C5pers0-table-phrasevsincidente3xPPD.tex")
catlat(toLatex(tricroise(cont[2:3,], mult=2), caption="Tri croisé incidentes $\\times$ PPD"))
sink()
cont<-rbind(cont[1,], colSums(cont[2:3,]))
rownames(cont)<-c("phrase","incidente")
sink("out/6.1.4.00C5pers0-table-phrasevsincidente2xPPD.tex")
catlat(toLatex(tricroise(cont, mult=2), caption="Tri croisé phrases et incidentes (groupées) $\\times$ PPD"))
sink()

# comparaison autres sub

cont<-rbind(
	table(tw2[tw2[,"T"]==1 & tw2[,"LCD"]!=1 & tw2[,"MI.phrase>"], "PPD"]),
	table(tw2[tw2[,"T"]==1 & tw2[,"LCD"]!=1 & tw2[,"incidente>"] & tw2[,"MI.phrase>"]==TRUE, "PPD"]),
	table(tw2[tw2[,"MN"]=="pers" & tw2[,"MR"]==1 & tw2[,"LID"]==0 & tw2[,"LCD"]!=1 & tw2[,"MF"]=="C5" & tw2[,"MI"]=="phrase", "PPD"])
)

rownames(cont)<-c("phrase","incidente (phrase)", "C5,pers,1")

sink("out/6.1.4.00C5pers0-table-incidentevssubxPPD.tex")
catlat(toLatex(tricroise(cont), caption="Tri croisé phrases, incidentes et autres circonstants propositionnels $\\times$ PPD"))
sink()
sink("out/6.1.4.00C5pers0-table-incidentevssubxPPD3.tex")
catlat(toLatex(tricroise(cont[c(2:3),], mult=2), caption="Tri croisé incidentes et autres circonstants propositionnels $\\times$ PPD"))
sink()
cont<-rbind(cont[1,], colSums(cont[2:3,]))
rownames(cont)<-c("phrase","circonstant propositionnel")
sink("out/6.1.4.00C5pers0-table-incidentevssubxPPD2.tex")
catlat(toLatex(tricroise(cont, mult=2), caption="Tri croisé phrases et proportions circonstancielles $\\times$ PPD"))
sink()
	#-- Finale

cont<-rbind(
	table(tw3[tw3[,"T"]==1 & tw3[,"LCF"]!=1 & tw3[,"MI.phrase<"], "PPF"]),
	table(tw3[tw3[,"T"]==1 & tw3[,"LCF"]!=1 & tw3[,"incidente<"] & tw3[,"MI.phrase<"]==TRUE, "PPF"]),
	table(tw3[tw3[,"T"]==1 & tw3[,"LCF"]!=1 & tw3[,"incidente<"] & tw3[,"MI.phrase<"]==FALSE, "PPF"])
)

rownames(cont)<-c("phrase","incidente (phrase)", "incidente (autre)")

sink("out/6.1.4.00C5pers0-table-phrasevsincidentexPPF.tex")
catlat(toLatex(tricroise(cont), caption="Tri croisé phrases et incidentes $\\times$ PPF"))
sink()
sink("out/6.1.4.00C5pers0-table-phrasevsincidente3xPPF.tex")
catlat(toLatex(tricroise(cont[2:3,], mult=2), caption="Tri croisé phrases et incidentes (phrase) $\\times$ PPF"))
sink()
cont<-rbind(cont[1,], colSums(cont[2:3,]))
rownames(cont)<-c("phrase","incidente")
sink("out/6.1.4.00C5pers0-table-phrasevsincidente2xPPF.tex")
catlat(toLatex(tricroise(cont, mult=2), caption="Tri croisé phrases et incidentes $\\times$ PPF"))
sink()

# comparaison autres sub
cont<-rbind(
	table(tw3[tw3[,"T"]==1 & tw3[,"LCF"]!=1 & tw3[,"MI.phrase<"], "PPF"]),
	table(tw3[tw3[,"T"]==1 & tw3[,"LCF"]!=1 & tw3[,"incidente<"] & tw3[,"MI.phrase<"]==TRUE, "PPF"]),
	table(tw3[tw3[,"MN"]=="pers" & tw3[,"MR"]==1 & tw3[,"LIF"]==0 & tw3[,"LCF"]!=1 & tw3[,"MF"]=="C5" & tw3[,"MI"]=="phrase", "PPF"])
)

rownames(cont)<-c("phrase","incidente (phrase)", "C5,pers,1")
sink("out/6.1.4.00C5pers0-table-incidentevssubxPPF.tex")
catlat(toLatex(tricroise(cont), caption="Tri croisé phrases, incidentes et circonstants propositionnels $\\times$ PPF"))
sink()
sink("out/6.1.4.00C5pers0-table-incidentevssubxPPF3.tex")
catlat(toLatex(tricroise(cont[c(2,3),], mult=2), caption="Tri croisé incidentes et circonstants propositionnels $\\times$ PPF"))
sink()
cont<-rbind(cont[1,], colSums(cont[2:3,]))
rownames(cont)<-c("phrase","circonstant propositionnel")
sink("out/6.1.4.00C5pers0-table-incidentevssubxPPF2.tex")
catlat(toLatex(tricroise(cont, mult=2), caption="Tri croisé phrases et proportions circonstancielles $\\times$ PPF"))
sink()



#======================================================================================#
#  PPD
#======================================================================================#

	#-- 0,0,C5,0,1 : pers, ¬pers
w<-do.analysis(tw, "0,0,C5,0,1", c("pers", "¬pers"), "PPD")

	#-- 0,1,C5,0,0 : phrase, ¬pers-arg, pers, ¬pers
w<-do.analysis(tw, "0,1,C5,0,0", c("phrase", "¬pers-arg", "pers", "¬pers"), "PPD")
sink("out/6.1.4.01C500-LCFxPPD.tex")
catlat(toLatex(tricroise(table(refactor(tw[tw$MM=="0,1,C5,0,0",c("LCF","PPD")])),fisher=F), test=F, caption="Tri croisé position finale ou non $\\times$ PPD"))
sink()


	#-- 0,1,C5,0,1 : phrase, pers-arg, pers
w<-do.analysis(tw, "0,1,C5,0,1", c("phrase", "pers-arg", "pers"), "PPD")

	#-- 0,1,C5,¬pers,1 : phrase, pers
w<-do.analysis(tw, "0,1,C5,¬pers,1", c("phrase", "pers"), "PPD")

	#-- 0,1,C5,pers,1 : phrase
w<-do.analysis(tw, "0,1,C5,pers,1", c("phrase"), "PPD")

#======================================================================================#
#  PPF
#======================================================================================#

	#-- 0,0,C5,0,0 : phrase, ¬pers-arg, ¬pers
w<-do.analysis(tw, "0,0,C5,0,0", c("phrase", "¬pers-arg", "¬pers"), "PPF")
charters<-get.trend(w)
mi<-c("phrase","¬pers-arg","¬pers")
p<-NULL
for (i in 1:3) {
	ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPF")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,C5,0,0")
}
sink.it("out/6.1.4.00C500PPFstable.txt", p)

# Pas d'attractions envers une charte
# proximité d'autres circonstants

	#-- 0,0,C5,0,1 : phrase, pers-arg, ¬pers-arg, pers, ¬pers
w<-do.analysis(tw, "0,0,C5,0,1", c("phrase", "pers-arg", "¬pers-arg", "pers", "¬pers"), "PPF")
charters<-get.trend(w)
mi<-c("phrase","pers","¬pers-arg","pers-arg","¬pers")
p<-NULL
for (i in 1:5) {
	ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPF")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,C5,0,1")
}
# L'attraction reste stable si l'on retire les chartes les plus attirées

	#-- 0,0,C5,¬pers,1 : phrase
w<-do.analysis(tw, "0,0,C5,¬pers,1", c("phrase"), "PPF")


	#-- 0,0,C5,pers,1 : phrase, pers-arg, pers
w<-do.analysis(tw, "0,0,C5,pers,1", c("phrase", "pers-arg", "pers"), "PPF")

	#-- 1,0,C5,pers,1 : phrase
w<-do.analysis(tw, "1,0,C5,pers,1", c("phrase"), "PPF")


########################################################################################
#  6.1.5 Coordination
########################################################################################
# Coordination

########################################################################################
#  Synthèse jq maintenant
########################################################################################

tw[,"ActPPD"]<-
check( tw, c("MM.0,1,R2,pers,1", "MI.¬pers-arg"), "RMD" ) |
check( tw, c("MM.0,1,S1,pers,1", "MI.phrase"), "RMD")|
check( tw, c("MM.0,0,R2,pers,1", "MI.pers"), "RMD")
tw[,"CircPPD"]<-  
check(tw, "MM.0,0,C5,pers,0","RMD") |
check(tw, c("MM.0,1,C5,0,0","MI.phrase"), "RMD")|
check(tw, c("MM.0,1,C5,0,0","MI.¬pers-arg"), "RMD")|
check(tw, c("MM.0,1,C5,0,0","MI.pers"), "RMD")|
check(tw, c("MM.0,1,C5,0,0","MI.¬pers"), "RMD")|
check(tw, c("MM.0,1,C5,0,1","MI.phrase"), "RMD")|
check(tw, c("MM.0,1,C5,0,1","MI.pers-arg"), "RMD")|
check(tw, c("MM.0,1,C5,0,1","MI.pers"), "RMD")|
check(tw, c("MM.0,1,C5,¬pers,1","MI.pers"), "RMD")|
check(tw, c("MM.0,1,C5,¬pers,1","MI.phrase"), "RMD")|
check(tw, c("MM.0,1,C5,pers,1","MI.phrase"), "RMD")


tw[,"ActPPF"]<- 
check( tw, c("MM.0,0,R2,0,0", "RB.1272-03") ) |
check( tw, c("MM.0,0,R2,0,0", "RB.1289-01-12") ) |
check( tw, c("MM.0,0,R2,0,0", "RB.1283-02-13a") ) |
check( tw, c("MM.0,0,R3,0,1", "RB.1283-02-13a") ) |
check( tw, c("MM.0,0,R3,0,1", "RB.1272-03") ) |
check( tw, "MM.1,0,R3,0,1" ) |
check( tw, c("MM.0,0,A4,0,1", "MI.pers") )|
check( tw, c("MM.0,0,A4,0,1", "MI.pers-arg") )|
check( tw, c("MM.0,0,A4,0,1", "MI.¬pers-arg") )
tw[,"CircPPF"]<-  
check(tw, "MM.0,0,C5,pers,0")|
check(tw, c("MM.0,0,C5,0,0","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,0,0","MI.¬pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,0,0","MI.¬pers"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.¬pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.pers"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.¬pers"), "RMF")|
check(tw, c("MM.0,0,C5,¬pers,1","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,pers,1","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,pers,1","MI.pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,pers,1","MI.pers"), "RMF")|
check(tw, c("MM.1,0,C5,pers,1","MI.phrase"), "RMF")

tw[,"anyPPD"]<-tw[,"CircPPD"]|tw[,"LED"]==1|tw[,"ActPPD"]
tw[,"anyPPF"]<-tw[,"CircPPF"]|tw[,"LEF"]==1|tw[,"ActPPF"]

tw<-carmerge(tw, c("RB","RMF","PPF","RMS"), "IM2")
tw<-carmerge(tw, c("RB","RMP","PPD","RMD"), "IM1")

tt<-refactor(tw[tw[,"T"]==1,])
tt<-tt[!duplicated(tt$IM2),]

tm<-merge(
	tt[,c("IM2","anyPPF","RB","RI","PPF","LEF","PPFo","CircPPF","ActPPF","RPF","PHF","RF")],
	tt[,c("RF","IM1","anyPPD","RB","RI","PPD","LED","PPDo","CircPPD","ActPPD","RPD","PHD")], 
	by.x="IM2", by.y="IM1", all.x=T
)
tm[,"RB"]<-ifelse(is.na(tm[,"RB.x"]), as.character(tm[,"RB.y"]), as.character(tm[,"RB.x"]))
tm[,"RF"]<-ifelse(is.na(tm[,"RF.x"]), as.character(tm[,"RF.y"]), as.character(tm[,"RF.x"]))
tm[,"RI"]<-ifelse(is.na(tm[,"RI.x"]), as.character(tm[,"RI.y"]), as.character(tm[,"RI.x"]))
tm[,"P"]<-ifelse(is.na(tm[,"PPF"]), as.character(tm[,"PPD"]), as.character(tm[,"PPF"]))
tm[,"R"]<-ifelse(is.na(tm[,"RPF"]), as.character(tm[,"RPD"]), as.character(tm[,"RPF"]))
tm[,"Po"]<-ifelse(is.na(tm[,"PPFo"]), as.character(tm[,"PPDo"]), as.character(tm[,"PPFo"]))
tm[,"H"]<-ifelse(is.na(tm[,"PHF"]), as.character(tm[,"PHD"]), as.character(tm[,"PHD"]))
tm[,"H"]<-ifelse(is.na(tm[,"H"]), 0, tm[,"H"])
tm[,"anyPPD"]<-ifelse(is.na(tm[,"anyPPD"]), tm[,"anyPPF"], tm[,"anyPPD"])
tm[,"anyPPF"]<-ifelse(is.na(tm[,"anyPPF"]), tm[,"anyPPD"], tm[,"anyPPF"])
tm[,"any"]<-tm[,"anyPPD"]|tm[,"anyPPF"]
tm$Phrase=as.factor(tm$LEF==1|tm$LED==1)


to<-tm[tm$any!="TRUE","IM2"]


mi<-c("phrase","pers","pers-arg","¬pers","¬pers-arg","synt","synt-arg")


tp<-merge(
	tw,
	tw[,c("RB","MH","MI","RMS","MF","MN","MNo","MR","MM")],
	by.x=c("RB","MH","MI","RMD"),
	by.y=c("RB","MH","MI","RMS"),
	suffix=c("","P"),
)

tn<-merge(
	tw,
	tw[,c("RB","MH","MI","RMP","MF","MN","MR","MM")],
	by.x=c("RB","MH","MI","RMF"),
	by.y=c("RB","MH","MI","RMP"),
	suffix=c("","S"),
)

#to<-tm[tm$Phrase!="TRUE" & tm$ActPPD!="TRUE" & tm$ActPPF!="TRUE" & tm$CircPPD!="TRUE" & tm$CircPPF!="TRUE","IM2"]

########################################################################################
#  PPD
########################################################################################

tc<-tw[tw$IM1 %in% to,]
tt<-recod(tc, list(MC=c(
	"début, premier argument" = "début",
	"fin, premier argument"   = "fin",
	"centre, premier argument"= "centre",
	"début, dernier argument" = "¬coord",
	"fin, dernier argument"   = "¬coord",
	"centre, dernier argument"= "¬coord"
)))


sink("out/6.1.5.coordPPD-omni.tex")
catlat(toLatex(tricroise(table(tt[tt$anyPPD==F,c("MC","PPD")])), caption="Tri croisé des positions de coordination et PPD"))
sink()

sink("out/6.1.5.coordPPD-1.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPD")])[c(1,3),], multi=4), caption="Tri croisé des positions de coordination MC.$¬$coord et MC.fin et PPD"))
sink()
sink("out/6.1.5.coordPPD-2.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPD")])[c(1,2),], multi=4), caption="Tri croisé des positions de coordination MC.$¬$coord et MC.début et PPD"))
sink()
sink("out/6.1.5.coordPPD-3.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPD")])[c(1,4),], multi=4), caption="Tri croisé des positions de coordination MC.$¬$coord et MC.centre et PPD"))
sink()

#
ch<-plotchi(table(tt[tt$anyPPD==F & tt$MC=="début",c("RB","PPD")]))
n<-rownames(ch$pos[ch$pos[,1]<.05,])
toLatexFig("out/6.1.5.figure.coord-init", family="Times", label="tab:MCdebutPPDfigure", caption="Marquage initial de MC.début par charte")
sink("out/6.1.5.table-coord-init.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPD")])[c(1,2),], multi=4), label="tab:MCnotcoorddebutPPDreduit", caption=paste("Tri croisé des positions de coordination MC.$¬$coord et MC.début et PPD (",paste(n, collapse=", "), " supprimés)", sep="")))
sink()

#
ch<-plotchi(table(tt[tt$anyPPD==F & tt$MC=="centre",c("RB","PPD")]))
n<-rownames(ch$pos[ch$pos[,1]<.05,])
toLatexFig("out/6.1.5.figure-coord-centre", family="Times", label="tab:MCcentredPPDfigure", caption="Marquage initial de MC.centre par charte")
sink("out/6.1.5.table-coord-centre.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPD")])[c(1,4),], multi=4), label="tab:MCnotcoordcentrePPDfigure", caption=paste("Tri croisé des positions de coordination MC.$¬$coord et MC.centre et PPD (",paste(n, collapse=", "), " supprimés)", sep="")))
sink()



# sans les coordonnants
sink("out/6.1.5.coordPPD-6.tex")
catlat(toLatex(tricroise(table(tt[tt$MF!="Co",c("MC","PPD")])[c(1,4),], multi=4), caption="Tri croisé des positions de coordination MC.$¬$coord et MC.centre et PPD (coordonnants retirés)"))
sink()

# comparaison des coordonnants aux autres MC.¬centre
sink("out/6.1.5.coordPPD-7.tex")
tab<-table(tt[tt$MC=="centre",c("MF","PPD")])
tab<-rbind(tab["Co",],colSums(tab)-tab["Co",])
catlat(toLatex(tricroise(tab), multi=4, caption="Tri croisé des MC.centre, coordonnants ou non $\\times$ PPD"))
sink()


tab<-table(tt[tt$MC=="centre",c("MF","PPD")])



tt<-recod(tp[tp$IM1%in%to,], list(MC=c(
	"début, premier argument" = "début",
	"fin, premier argument"   = "fin",
	"centre, premier argument"= "centre",
	"début, dernier argument" = "¬coord",
	"fin, dernier argument"   = "¬coord",
	"centre, dernier argument"= "¬coord"
)))

ch<-plotchi(table(tt[tt$anyPPF==F & tt$MC=="fin",c("RB","PPF")]))
n<-rownames(ch$pos[ch$pos[,1]<.05,])
toLatexFig("out/6.1.5.figure-coord-fin", family="Times", caption="Marquage final de MC.fin par charte")
sink("out/6.1.5.table-coord-fin.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPF")])[c(1,4),], multi=4), label="tab:MCnotcoordcentrePPDfigure", caption=paste("Tri croisé des positions de coordination MC.$¬$coord et MC.fin et PPF (",paste(n, collapse=", "), " supprimés)", sep="")))
sink()

ch<-plotchi(table(refactor(tt[tt$MC=="fin",c("MMP","PPD")])))        
toLatexFig("out/6.1.5.coordPPD-8", family="Times", pos='H', caption="Marquage initial de MC.fin par constituant précédent")

########################################################################################
#  PPF
########################################################################################

tc<-tw[tw$IM2 %in% to,]
tt<-recod(tc, list(MC=c(
	"début, premier argument" = "¬coord",
	"fin, premier argument"   = "¬coord",
	"centre, premier argument"= "¬coord",
	"début, dernier argument" = "début",
	"fin, dernier argument"   = "fin",
	"centre, dernier argument"= "centre"
)))

sink("out/6.1.5.coordPPF-1.tex")
catlat(toLatex(tricroise(table(tt[,c("MC","PPF")])), caption="Tri croisé des positions de coordination et PPF"))
sink() 

sink("out/6.1.5.coordPPF-2.tex")
catlat(toLatex(tricroise(table(tt[tw$MF!="Co",c("MC","PPF")])), caption="Tri croisé des positions de coordination (sans MF.Co) et PPF"))
sink() 

ch<-plotchi(table(refactor(tt[tt$MC=="fin",c("RB","PPF")])))        
n<-rownames(ch$pos[ch$pos[,1]<.05,])
sink("out/6.1.5.coordPPF-1-sansattract.tex")
catlat(toLatex(tricroise(table(tt[!(tt$RB%in%n),c("MC","PPF")])), caption="Tri croisé des positions de coordination et PPF (chartes attirant le ponctogramme
retirées)"))
sink() 


tn<-merge(
	tw,
	tw[,c("RB","MH","MI","RMP","MF","MN","MR","MM")],
	by.x=c("RB","MH","MI","RMF"),
	by.y=c("RB","MH","MI","RMP"),
	suffix=c("","S"),
)

tmp<-table(tt[,c("MC","PPF")])

tt<-recod(tn[tn$IM2 %in% to,], list(MC=c(
	"début, premier argument" = "¬coord",
	"fin, premier argument"   = "¬coord",
	"centre, premier argument"= "¬coord",
	"début, dernier argument" = "début",
	"fin, dernier argument"   = "fin",
	"centre, dernier argument"= "centre"
)))

ch<-plotchi(table(refactor(tt[tt$MC=="fin",c("MMS","PPF")])))        
toLatexFig("out/6.1.5.coordPPF-contexte", family="Times", pos='H', caption="Marquage initial de MC.fin par constituant suivant")



########################################################################################
#  6.2 Syntaxe immédiate
########################################################################################
# ===> VOIR APRES SYNTHESE


########################################################################################
#  6.4 Synthèse
########################################################################################


########################################################################################
#  Codage des tendances
########################################################################################



tw[,"ActPPD"]<-
check( tw, c("MM.0,1,R2,pers,1", "MI.¬pers-arg"), "RMD" ) |
check( tw, c("MM.0,1,S1,pers,1", "MI.phrase"), "RMD")|
check( tw, c("MM.0,0,R2,pers,1", "MI.pers"), "RMD")
tw[,"CircPPD"]<-  
check(tw, "MM.0,0,C5,pers,0","RMD") |
check(tw, c("MM.0,1,C5,0,0","MI.phrase"), "RMD")|
check(tw, c("MM.0,1,C5,0,0","MI.¬pers-arg"), "RMD")|
check(tw, c("MM.0,1,C5,0,0","MI.pers"), "RMD")|
check(tw, c("MM.0,1,C5,0,0","MI.¬pers"), "RMD")|
check(tw, c("MM.0,1,C5,0,1","MI.phrase"), "RMD")|
check(tw, c("MM.0,1,C5,0,1","MI.pers-arg"), "RMD")|
check(tw, c("MM.0,1,C5,0,1","MI.pers"), "RMD")|
check(tw, c("MM.0,1,C5,¬pers,1","MI.pers"), "RMD")|
check(tw, c("MM.0,1,C5,¬pers,1","MI.phrase"), "RMD")|
check(tw, c("MM.0,1,C5,pers,1","MI.phrase"), "RMD")

tw[,"ActPPF"]<- 
#check( tw, c("MM.0,0,R2,0,0", "RB.1272-03") ) |
#check( tw, c("MM.0,0,R2,0,0", "RB.1289-01-12") ) |
#check( tw, c("MM.0,0,R2,0,0", "RB.1283-02-13a") ) |
check( tw, c("MM.0,0,R3,0,1", "RB.1283-02-13a") ) |
check( tw, c("MM.0,0,R3,0,1", "RB.1272-03") ) |
check( tw, "MM.1,0,R3,0,1" ) |
check( tw, c("MM.0,0,A4,0,1", "MI.pers") )|
check( tw, c("MM.0,0,A4,0,1", "MI.pers-arg") )|
check( tw, c("MM.0,0,A4,0,1", "MI.¬pers-arg") )
 
tw[,"CircPPF"]<-  
check(tw, "MM.0,0,C5,pers,0")|
check(tw, c("MM.0,0,C5,0,0","MI.¬pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,0,0","MI.¬pers"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.¬pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.pers"), "RMF")|
check(tw, c("MM.0,0,C5,0,1","MI.¬pers"), "RMF")|
check(tw, c("MM.0,0,C5,¬pers,1","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,pers,1","MI.phrase"), "RMF")|
check(tw, c("MM.0,0,C5,pers,1","MI.pers-arg"), "RMF")|
check(tw, c("MM.0,0,C5,pers,1","MI.pers"), "RMF")|
check(tw, c("MM.1,0,C5,pers,1","MI.phrase"), "RMF")

tw[,"anyPPD"]<-tw[,"CircPPD"]|tw[,"LED"]==1|tw[,"ActPPD"]|tw$MF=="Co"
tw[,"anyPPF"]<-tw[,"CircPPF"]|tw[,"LEF"]==1|tw[,"ActPPF"]

# Coordination
tt<-recod(tw, list(MC=c(
	"début, premier argument" = "début",
	"fin, premier argument"   = "fin",
	"centre, premier argument"= "centre",
	"début, dernier argument" = "¬coord",
	"fin, dernier argument"   = "¬coord",
	"centre, dernier argument"= "¬coord"
)))

tw[,"CoordPPD"]<-check(tt, "MC.début", "RMD")|check(tt, "MC.centre", "RMD") 

tt<-recod(tw, list(MC=c(
	"début, premier argument" = "¬coord",
	"fin, premier argument"   = "¬coord",
	"centre, premier argument"= "¬coord",
	"début, dernier argument" = "début",
	"fin, dernier argument"   = "fin",
	"centre, dernier argument"= "centre"
)))
tw[,"CoordPPF"]<-check(tt, "MC.centre", "RMF")|check(tt, "MC.début", "RMF")
tw[,"anyPPD"]<-tw[,"anyPPD"]|tw[,"CoordPPD"]
tw[,"anyPPF"]<-tw[,"anyPPF"]|tw[,"CoordPPF"]

# et on construit le tableau par position:

tw<-carmerge(tw, c("RB","RMF","PPF","RMS"), "IM2")
tw<-carmerge(tw, c("RB","RMP","PPD","RMD"), "IM1")

tt<-refactor(tw[tw[,"T"]==1,])
tt<-tt[!duplicated(tt$IM2),]

tm<-merge(
	tt[,c("IM2","anyPPF","RB","RI","PPF","LEF","PPFo","CoordPPF","CircPPF","ActPPF","RPF","PHF","RF",)],
	tt[,c("RF","IM1","anyPPD","RB","RI","PPD","LED","PPDo","CoordPPD","CircPPD","ActPPD","RPD","PHD")], 
	by.x="IM2", by.y="IM1", all.x=T
)
tm[,"RB"]<-ifelse(is.na(tm[,"RB.x"]), as.character(tm[,"RB.y"]), as.character(tm[,"RB.x"]))
tm[,"RF"]<-ifelse(is.na(tm[,"RF.x"]), as.character(tm[,"RF.y"]), as.character(tm[,"RF.x"]))
tm[,"RI"]<-ifelse(is.na(tm[,"RI.x"]), as.character(tm[,"RI.y"]), as.character(tm[,"RI.x"]))
tm[,"P"]<-ifelse(is.na(tm[,"PPF"]), as.character(tm[,"PPD"]), as.character(tm[,"PPF"]))
tm[,"R"]<-ifelse(is.na(tm[,"RPF"]), as.character(tm[,"RPD"]), as.character(tm[,"RPF"]))
tm[,"Po"]<-ifelse(is.na(tm[,"PPFo"]), as.character(tm[,"PPDo"]), as.character(tm[,"PPFo"]))
tm[,"H"]<-ifelse(is.na(tm[,"PHF"]), as.character(tm[,"PHD"]), as.character(tm[,"PHD"]))
tm[,"H"]<-ifelse(is.na(tm[,"H"]), 0, tm[,"H"])
tm[,"anyPPD"]<-ifelse(is.na(tm[,"anyPPD"]), tm[,"anyPPF"], tm[,"anyPPD"]) 
tm[,"anyPPF"]<-ifelse(is.na(tm[,"anyPPF"]), tm[,"anyPPD"], tm[,"anyPPF"])
tm[,"any"]<-tm[,"anyPPD"]|tm[,"anyPPF"]
tm$Phrase=as.factor(tm$LEF==1|tm$LED==1)
tm$Coord<-tm$CoordPPD|tm$CoordPPF
tm$Circ<-tm$CircPPD|tm$CircPPF
tm$Act<-tm$ActPPD|tm$ActPPF

to<-tm[tm$any!="TRUE","IM2"]

########################################################################################
#  Proportions expliquée
########################################################################################
kill.dev()
# Proportions expliquées par le marquage de la phrase
sink("out/6.1.1.3.table-explained-phrase.tex")
catlat(toLatex(tricroise(table(tm[,c("Phrase","P")])), caption="Proportions de marquage expliqué par la ponctuation de la phrase"))
sink()
sink("out/6.1.1.3.table-explained-phrase-part1.tex")
catlat(toLatex(triplat(tm[tm$P==1,"Phrase"])[[1]], barplot.file="out/6.1.1.3.table-explained-phrase-part1-barplot", caption="Tri à plat de la position (limite de phrase ou non) pour les positions ponctuées"))
sink()
sink("out/6.1.1.3.table-explained-phrase-part2.tex")
catlat(toLatex(triplat(tm[tm$P==0,"Phrase"])[[1]], barplot.file="out/6.1.1.3.table-explained-phrase-part2-barplot", caption="Tri à plat de la position (limite de phrase ou non) pour les positions non ponctuées"))
sink()

# Proportions expliquées par le marquage des actants
tm[,"Act"]<-as.factor(tm[,"ActPPF"]|tm[,"ActPPD"])
sink("out/6.1.3.14.table-explained-A.tex")
catlat(toLatex(tricroise(table(tm[tm$Phrase=="FALSE",c("Act","P")])), caption="Proportions de marquage expliqué par la ponctuation des actants"))
sink()

sink("out/6.1.3.14.table-explained-A-part1.tex")
catlat(toLatex(triplat(tm[tm$Phrase=="FALSE" & tm$P==1,"Act"])[[1]], barplot.file="out/6.1.3.14.table-explained-A-part1-barplot", caption="Tri à plat de la position (limite d'actant ou non) pour les positions ponctuées"))
sink()
sink("out/6.1.3.14.table-explained-A-part2.tex")
catlat(toLatex(triplat(tm[tm$Phrase=="FALSE" & tm$P==0,"Act"])[[1]], barplot.file="out/6.1.3.14.table-explained-A-part2-barplot", caption="Tri à plat de la position (limite d'actant ou non) pour les positions non ponctuées"))
sink()

# Proportions expliquées par le marquage des actants et circonstants
tm[,"Circ"]<-as.factor(tm[,"CircPPF"]|tm[,"CircPPD"])

tm[,"ActCirc"]<-as.factor(tm[,"ActPPF"]|tm[,"ActPPD"]|tm[,"CircPPF"]|tm[,"CircPPD"])
sink("out/6.1.4.12.table-explained-AC.tex")
catlat(toLatex(tricroise(table(tm[tm$Phrase=="FALSE",c("ActCirc","P")])), caption="Proportions de marquage expliqué par la ponctuation des compléments"))
sink()

sink("out/6.1.4.12.table-explained-AC-part1.tex")
catlat(toLatex(triplat(tm[tm$Phrase=="FALSE" & tm$P==1,"ActCirc"])[[1]], barplot.file="out/6.1.4.12.table-explained-AC-part1-barplot", caption="Tri à plat de la position (limite de complément ou non) pour les positions ponctuées"))
sink()
sink("out/6.1.4.12.table-explained-AC-part2.tex")
catlat(toLatex(triplat(tm[tm$Phrase=="FALSE" & tm$P==0,"ActCirc"])[[1]], barplot.file="out/6.1.4.12.table-explained-AC-part2-barplot", caption="Tri à plat de la position (limite de complément ou non) pour les positions non ponctuées"))
sink()

# Proportions expliquées par le marquage des coordinations
tm[,"Coord"]<-as.factor(tm[,"CoordPPF"]|tm[,"CoordPPD"])
sink("out/6.1.3.5.table-explained-Co.tex")
catlat(toLatex(tricroise(table(tm[tm$Phrase=="FALSE",c("Coord","P")])), caption="Proportions de marquage expliqué par la ponctuation de la coordination"))
sink()

sink("out/6.1.3.5.table-explained-Co-part1.tex")
catlat(toLatex(triplat(tm[tm$Phrase=="FALSE" & tm$P==1,"Coord"])[[1]], barplot.file="out/6.1.3.5.table-explained-Co-part1-barplot", caption="Tri à plat de la position (limite de coordination ou non) pour les positions ponctuées"))
sink()
sink("out/6.1.3.5.table-explained-Co-part2.tex")
catlat(toLatex(triplat(tm[tm$Phrase=="FALSE" & tm$P==0,"Coord"])[[1]], barplot.file="out/6.1.3.5.table-explained-Co-part2-barplot", caption="Tri à plat de la position (limite de coordination ou non) pour les positions non ponctuées"))
sink()

sink("out/6.1.3.5.table-explained-all.tex")
catlat(toLatex(tricroise(table(tm[,c("any","P")])), caption="Proportions de marquage expliqué par une tendance générale"))
sink()

sink("out/6.1.3.5.table-explained-all-part1.tex")
catlat(toLatex(triplat(tm[tm$P==1,"any"])[[1]], barplot.file="out/6.1.3.5.table-explained-all-part1-barplot", caption="Tri à plat de la position (limite de constituant attirant le marquage ou non) pour les positions ponctuées"))
sink()
sink("out/6.1.3.5.table-explained-all-part2.tex")
catlat(toLatex(triplat(tm[tm$P==0,"any"])[[1]], barplot.file="out/6.1.3.5.table-explained-all-part2-barplot", caption="Tri à plat de la position (limite de constituant attirant le marquage ou non) pour les positions non ponctuées"))
sink()
  
sink("out/6.4.table-explained-all.tex")
catlat(toLatex(tricroise(table(tm[,c("any","P")])), caption="Proportions de marquage expliqué par une tendance générale (repris)"))
sink()

sink("out/6.4.table-explained-all-part1.tex")
catlat(toLatex(triplat(tm[tm$P==1,"any"])[[1]], barplot.file="out/6.4.table-explained-all-part1-barplot", caption="Tri à plat de la position (limite de constituant attirant le marquage ou non) pour les positions ponctuées (repris)"))
sink()
sink("out/6.4.table-explained-all-part2.tex")
catlat(toLatex(triplat(tm[tm$P==0,"any"])[[1]], barplot.file="out/6.4.table-explained-all-part2-barplot", caption="Tri à plat de la position (limite de constituant attirant le marquage ou non) pour les positions non ponctuées (repris)"))
sink()


# TODO: nettoyer ce qui suit


##sink("out/02A-synthese-PPD.tex")
##catlat(toLatex(tricroise(table(tt[,c("anyPPD","PPD")]))  ))
##sink()
##sink("out/02A-synthese-PPF.tex")
##catlat(toLatex(tricroise(table(tt[,c("anyPPF","PPF")]))  ))
##sink()

##sink("out/02A-synthese-PPD-proportions.tex")
##catlat(toLatex(triplat(tt[tt[,"PPD"]==1,'anyPPD'])[[1]]))
##sink()
##sink("out/02A-synthese-PPD-proportions2.tex")
##catlat(toLatex(triplat(tt[tt[,"PPD"]==0,'anyPPD'])[[1]]))
##sink()
##kill.dev()
##sink("out/02A-synthese-PPF-proportions.tex")
##catlat(toLatex(triplat(tt[tt[,"PPF"]==1,'anyPPF'])[[1]]))
##sink()
##sink("out/02A-synthese-PPF-proportions2.tex")
##catlat(toLatex(triplat(tt[tt[,"PPF"]==0,'anyPPF'])[[1]]))
##sink()

par(las=1, mfrow=c(3,1), mar=c(5, 12, 4, 12) + 0.1, cex=.8)
barplot(
	cbind(
	table(tm[,c("Coord", "P")])["TRUE",],
	table(tm[,c("Circ", "P")])["TRUE",],
	table(tm[,c("Act", "P")])["TRUE",],
	table(tm[,c("Phrase", "P")])["TRUE",]
	), beside=T, 
	names.arg=c(
		"Coordination",
		"Circonstant",
		"Actant", 
		"Énoncé"),
	legend.text=c("Absence","Présence")
	, horiz=T
)
toLatexFig("out/6.4.figure-surround", family="Times", scale=.8, caption="Graphique des proportions de marquage expliqué par les environnements")

tab<-rbind(
	table(tm[,c("Coord", "P")])["TRUE",],
	table(tm[,c("Circ", "P")])["TRUE",],
	table(tm[,c("Act", "P")])["TRUE",],
	table(tm[,c("Phrase", "P")])["TRUE",]
	)
rownames(tab)<-c(	"Coordination", "Circonstant", "Actant", "Énoncé")
sink("out/6.4.table-surround.tex")
catlat(toLatex(tricroise(tab), test=F, caption='Tri croisé des proportions de marquage $\\times$ environnements'))
sink()

sink("out/02A-synthese-merged.tex")
catlat(toLatex(tricroise(table(tm[,c("any","P")])) ))
sink()

kill.dev()
sink("out/02A-synthese-merged-proportions.tex")
catlat(toLatex(triplat(tm[tm$P==1,'any'])[[1]]))
sink()
sink("out/02A-synthese-merged-proportions2.tex")
catlat(toLatex(triplat(tm[tm$P==0,'any'])[[1]]))
sink()



########################################################################################
#  6.2 Synt. imm.
########################################################################################

# On enlève d'abord tout marquage relevant de tendances déjà observées

mi<-c("synt-arg","synt")
smry<-list()

to<-tm[tm$any!="TRUE","IM2"]

#======================================================================================#
#  Nouvelles décomposition de l'écart
#======================================================================================#

kill.dev()
for (i in 1:length(mi)) {
	escapedmi<-gsub("¬","\\^", mi[i])
	escapedmi2<-gsub("¬","not", mi[i])
	escapedmi3<-gsub("¬","$¬$", mi[i])

	# Marquage initial
	tt<-refactor(tw[tw$IM1 %in% to & tw[,"MI"]==mi[i] & tw[,"LCD"]==0,c("MM","PPD")])
	t<-table(tt);
	print(t)

	# Graphique
	smry[["ppd"]][[mi[i]]]<-plotchi(t)
	toLatexFig(paste("out/6.2.1.figure-PPD-",escapedmi,"-revised", sep=""), family="Times", scale=1, caption=paste("Liens significatifs entre PPD et MM, au niveau", escapeLatex(mi[i]), "(revu)"))

	# Marquage final
	tt<-refactor(tw[tw$IM2 %in% to & tw[,"MI"]==mi[i] & tw[,"LCF"]==0,c("MM","PPF")])
	t<-table(tt);
	print(t)

	# Graphique
	smry[["ppf"]][[mi[i]]]<-plotchi(t)
	toLatexFig(paste("out/6.2.1.figure-PPF-",escapedmi,"-revised", sep=""), family="Times", scale=1, caption=paste("Liens significatifs entre PPF et MM, au niveau", escapeLatex(mi[i]), "(revu)"))
	kill.dev()
}

#======================================================================================#
#  Nouveaux tableaux synoptiques
#======================================================================================#

tt<-data.frame(MM=character(0),MI=character(0),P=character(0),C=numeric(0),D=character(0), T=numeric(0), R=numeric(0), check.rows=T, row.names=NULL)
# P = ponctuation, C = contribution (probabilité), D = direction, T = threshold (seuil alpha)

ponct.names<-names(smry)
for (i in 1:length(smry)){
	ponct<-smry[[i]]
	mi.names<-names(ponct)
	for (j in 1:length(ponct)) {
		mi<-ponct[[j]]
		dir.names<-names(mi)
		for (k in 1:length(mi)) {
			dir<-mi[[k]]
			mm.names<-rownames(dir)
			for (l in 1:dim(dir)[1]) {
				contrib<-dir[l,1]
				threshold<-1-(1-.05)**(1/length(unlist(mi)))
				ratio<-dir[l,4]
				tt<-rbind(tt, cbind(MM=mm.names[l], MI=mi.names[j], P=ponct.names[i], C=contrib, D=dir.names[k],T=threshold, R=ratio))
			}
		}
	}
}
tt.bak<-tt
tt[,"C"]<-ifelse(as.numeric(tt[,"C"])<as.numeric(tt[,"T"]),1000,ifelse(as.numeric(tt[,"C"])<.05,100,1))
ttppd<-tt[tt[,"P"]=="ppd",]
dfppd<-table(ttppd[,1:2])
dfppd<-ifelse(is.na(dfppd), NA, NA)
for (i in 1:dim(ttppd)[1]) {
	value<-ifelse(ttppd[i,"D"]=="neg",ttppd[i,"C"]*-1,ttppd[i,"C"])
	dfppd[ttppd[i,"MM"],ttppd[i,"MI"]]<-value
}
ttppf<-tt[tt[,"P"]=="ppf",]
dfppf<-table(ttppf[,1:2])
dfppf<-ifelse(is.na(dfppf), NA, NA)
for (i in 1:dim(ttppf)[1]) {
	value<-ifelse(ttppf[i,"D"]=="neg",ttppf[i,"C"]*-1,ttppf[i,"C"])
	dfppf[ttppf[i,"MM"],ttppf[i,"MI"]]<-value
}

plotbyMM(dfppd, "imm")
toLatexFig(paste("out/6.2.1.synoptic-PPD"), family="Times", scale=.7, label="tab:synoptPPD-revu", caption=paste("Tableau synoptique des tendances en syntaxe immédiate, PPD (revu)"))
kill.dev()
plotbyMM(dfppf, "imm")
toLatexFig(paste("out/6.2.1.synoptic-PPF"), family="Times", scale=.7, label="tab:synoptPPF-revu", caption=paste("Tableau synoptique des tendances en syntaxe immédiate, PPF (revu)"))

currentsec<-"6.2.2"

#======================================================================================#
#  PPD
#======================================================================================#

tw.a<-tw[tw$IM1 %in% to & tw[,"LCD"]==0,]

	#-- 0,0,Ap,0,0 (synt): PPD
ch<-do.analysis(tw.a, "0,0,Ap,0,0", "synt", "PPD")
charters<-get.trend(ch)
ch<-plotchi(table(tw.a[!(tw.a$RB %in% charters) & tw.a$MI=="synt",c("MM","PPD")]), do.plot=F)
p<-check.stability(ch, "0,0,Ap,0,0")


# presque toutes les attestations sont aux alentours des nombres ou de noms de personnes


	#-- 0,1,Ap,pers,1 (synt-arg, synt): PPD
w<-do.analysis(tw.a, "0,1,Ap,pers,1", c("synt","synt-arg"), "PPD")
charters<-get.trend(w)
ch<-plotchi(table(tw.a[!(tw.a$RB %in% charters),c("MM","PPD")]), do.plot=F)

p<-check.stability(ch, "0,1,Ap,pers,1")


#======================================================================================#
#  PPF
#======================================================================================#

tw.b<-tw[tw$IM2 %in% to & tw[,"LCF"]==0,]

	#-- 1,0,Dt,0,1
df<-do.select(tw.b, "1,0,Dt,0,1", c("synt"))
ch<-do.triplat(df, "1,0,Dt,0,1", c("synt"), "PPF")

	#-- 0,0,Ap,$¬$pers,0 (synt-arg): PPF
ch<-do.analysis(tw.b, "0,0,Ap,¬pers,0", c("synt-arg"), "PPF")
#

	#-- 0,0,Ap,pers,1 (synt-arg, synt): PPF
ch<-do.analysis(tw.b, "0,0,Ap,pers,1", c("synt","synt-arg"), "PPF")
charters<-get.trend(w)
# pas assez de chartes
ch<-plotchi(table(tw.b[!(tw.b$RB %in% charters),c("MM","PPD")]), do.plot=F)

p<-check.stability(ch, "0,0,Ap,pers,1")

########################################################################################
#  6.3 Relateurs et C6
########################################################################################

currentsec<-"6.3"

w<-do.analysis(tw, "1,0,C6,0,0", c("phrase"), "PPF")
# très peu d'exceptions (citer)


w<-do.analysis(tw, "0,0,Co,0,0",c("phrase","pers","pers-arg","synt","synt-arg","¬pers","¬pers-arg"), "PPF")
# peu d'exceptions, presque toujours des chiffres

w<-do.analysis(tw, "1,0,Rl,0,0", c("phrase","pers","pers-arg","synt","synt-arg","¬pers","¬pers-arg"), "PPF")
# Assez peu d'exceptions (inspecter), très souvent des chiffres
sink("out/6.3.table-Rl-MIPPF.tex")
catlat(toLatex(tricroise(table(refactor(tw[tw$MM=="1,0,Rl,0,0",c("MI","PPF")]))), test=F, caption="Tri croisé MI  $\\times$ PPF pour les constituants 1,0,Rl,0,0"))
sink()


#khprintid( tw[tw$MM=="1,0,Rl,0,0" & tw$PPF==1,])
#khprintid( tw[tw$MM=="1,0,C6,0,0" & tw$PPF==1,])

	#-- C6

w<-do.analysis(tw, "1,0,C6,0,0", c("phrase"), "PPD")
charters<-get.trend(w)
ch<-plotchi(table(tw[tw$LCD!=1 & tw$MI=="phrase" & !(tw$RB %in% charters),c("MM","PPD")]), do.plot=T)
p<-check.stability(ch, "1,0,C6,0,0")
sink.it("out/6.4.10C600PPDstable.txt", p)
# reste clairement plus marqué sans les deux chartes

	#-- Co

w<-do.analysis(tw, "0,0,Co,0,0",c("phrase","pers","pers-arg","synt","synt-arg","¬pers","¬pers-arg"), "PPD")
charters<-get.trend(w)
mi<-c("phrase","pers","pers-arg","synt","synt-arg","¬pers","¬pers-arg")
p<-NULL
for (i in 1:7) {
	ch<-plotchi(table(tw[tw$LIF!=1 & tw$LCF!=1 & tw$MI==mi[i] & !(tw$RB %in% charters),c("MM","PPD")]), do.plot=T)
	p[[mi[i]]]<-check.stability(ch, "0,0,Co,0,0")
}
sink.it("out/6.4.10Co00PPDstable.txt", p)
# reste clairement plus marqué sans les chartes



tw[, "C6"]<-check(tw, "MF.C6")
#fourfoldplot(table(tw[tw$LED==1,c("C6","PPD")])) 
# les C6 sont clairement plus marqués
tab<-table(tw[tw$MF=="C6",c("RB","PPD")])
e<-tab[,"1"]/rowSums(tab)
tab2<-table(tw[tw$MF=="Co",c("RB","PPD")])
e2<-tab2[,"1"]/rowSums(tab2)

kill.dev()
kill.dev()
layout(matrix(c(1,2,3,4,5,6,7,8,9), 3,3, byrow=T ))
par(las=1, font.main=3)
histdens(na.omit(e), main="C6")
histdens(na.omit(e2), main="Coordonnants")
boxplot(e, e2, col="gray", notch=T, horizontal=F, names=c("C6","Co"), main=paste("Test de Wilcoxon: p = ", format(wilcox.test(e, e2)$p.value,dig=3)))
toLatexFig(paste("out/6.3.figure-boxplotC6Co"), family="Times", pos="H", caption=paste("Proportions de marquage des C6 et des Co"))


wilcox.test(e, e2)   
# La différence est très nette
# donc on a beau avoir le même mot au début des phrases, la même tendance à être ponctuées,
# les phrases sont nettement plus ponctuées que les coordinations=> deux unités de lecture différentes
# 

sink("out/6.3.table-C6CoPPD.tex")
catlat(toLatex(tricroise(table(refactor(tw[tw$MF %in% c("C6","Co"),c("MF","PPD")]))), caption="Tri croisé C6 ou Co $\\times$ PPD"))
sink()


########################################################################################
########################################################################################
#  Chapitre 7
########################################################################################
########################################################################################

# Étude de la forme du marquage

 # liste

liste<-triplat(factor(tw[tw$T==1 & tw$LCD!=1 & tw$PPD==1,"PPDo"]))

sink("out/7.1.1.table-forms.tex")
catlat(toLatex(liste[[1]], caption="Tri à plat des formes de ponctogrammes", barplot.plot=F, float="longtable"))
sink()



l<-length(tm$Po)
tz<-data.frame(	
	P=tm$Po, 
	Phrase=logical(l), 
	Coord=logical(l), 
	CiD=logical(l), 
	CiF=logical(l)
#Rom=logical(l)
)
tz$Phrase=(tm$LEF==1|tm$LED==1)
tz$Coord=(tm$CoordPPD|tm$CoordPPF)
tz$CiD=tm$CircPPD
tz$CiF=tm$CircPPF
tz$RF=tm$RF
tz$RI=tm$RI 
tz$RB=tm$RB
tz$H=tm$H
tz$AcD=tm$ActPPD
tz$AcF=tm$ActPPF
tz$RB<-factor(tm$RB)
tz$Aucun<-rowSums(tz[,c(2:5,10)])==0

#tt$Rom=(tm$RomPPD|tm$RomPPF)
#for (i in 1:dim(tz)[2]) tz[,i]<-ifelse(is.na(tz[,i]), "FALSE", as.character(tz[,i])) 
ex<-tz[(rowSums(na.omit(tz[,2:5])))<=1,c("P","Phrase","Coord","CiD","CiF","AcD","AcF","H")]

df<-data.frame(table(ex[,-8]))
df<-df[rowSums(df[,2:7]=="TRUE")<=1 & df$Freq!=0,]
df<-carmerge(df, c(2:7), "unite")
levels(df[,"unite"])<-c("Aucun",rev(c("Énoncé","Coord.","C5 D","C5 F","Actant D", "Actant F")))

m<-matrix(nrow=length(levels(df[,"P"])), ncol=length(levels(df[,"unite"])))

for(i in 1:length(levels(df[,"P"]))) {
	for(j in 1:length(levels(df[,"unite"]))) {
		x<-df[df$P==levels(df[,"P"])[i] & df$unite==levels(df[,"unite"])[j],"Freq"]
		m[i,j]<-ifelse(length(x)!=0,x,0)
	}
}

colnames(m)<-levels(df[,"unite"])
rownames(m)<-as.character(levels(df[,"P"]))
tab<-m[c(-1,-2,-14,-16),]

sink("out/7.1.2.table-formsxsurround.tex")
catlat(toLatex(tricroise(tab, fisher=F), test=F, caption="Tri croisé environnement $\\times$ forme du ponctogramme", label="tab:forme1") )
sink()

# AFC complète
d<-dudi.coa(data.frame(m[c(-1,-2,-14,-16),], check.names=F), scan=F)
d$summary<-my.summary(d)
par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, font=c(2,4), afc.lab="", ploteig=F)
toLatexFig("out/7.2.2.figure-AFC", family="Times", scale=.4, caption="Analyse factorielle des correspondances: forme des ponctogrammes et environnement")
par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, ploteig=F, font=c(2,4), rows=F, main="")
toLatexFig("out/7.2.2.figure-AFC-cols", scale=.4,family="Times", caption="Analyse factorielle des correspondances: points-colonnes")
par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, ploteig=F, font=c(2,4), cols=F, main="")
toLatexFig("out/7.2.2.figure-AFC-rows", scale=.4,family="Times", caption="Analyse factorielle des correspondances: points-lignes")


kill.dev()
par(mfrow=c(3,2), font.main=1)
my.ploteig(d)
toLatexFig("out/7.2.1.figure-eigen", family="Times", scale=".4", caption="Décomposition en valeurs propres")
kill.dev()

sink("out/7.2.1.table-cols-fact1.tex")
catlat(toLatex(format(round(d$sum$co[,1:3], dig=2)), total.row=F, caption="Points-colonnes, données numériques (1\\ier facteur)", label='tab:fact1', float.type="longtable")) 
sink()


sink("out/7.2.2.table-rows.tex")
catlat(toLatex(format(round(d$sum$ro, dig=2)), total.row=F, caption="Points-lignes, données numériques", float.type="longtable")) 
sink()

sink("out/7.2.2.table-cols.tex")
catlat(toLatex(format(round(d$sum$co, dig=2)), total.row=F, caption="Points-colonnes, données numériques", float.type="longtable")) 
sink()

# Je teste: les associations les plus fortes
ttt<-table(refactor(tz[tz$P=="?",c("RB","AcF")]))
colnames(ttt)<-0:1
plotchi(ttt)
sink("out/7.2.4.1.table-RB-punctuselevatus.tex")
catlat(toLatex(tricroise(ttt, fisher=F), test=F, caption="Tri croisé RB $\\times$ actant ponctuable à la finale pour \\gm{\\protect\\kpela}") )
sink()

sink("out/7.2.4.1.table-RB-punctuselevatus-reduced.tex")
tmp<-rbind(ttt["1272-03",],colSums(ttt)-ttt["1272-03",])
rownames(tmp)<-c("1272-03","Autres")
catlat(toLatex(tricroise(tmp, fisher=F), float.t="table", test=F, caption="Tri croisé RB $\\times$ actant ponctuable à la finale pour \\gm{\\protect\\kpela}") )
sink()

#ttt<-table((tz[tz$P=="¶",c("RB","AcF")]))
#ttt<-rbind(ttt["1272-03",],c(0,0))
#colnames(ttt)<-0:1
#rownames(ttt)<-c("1272-03","Autres")
#sink("out/7.2.4.1.table-RB-paraph.tex")
#catlat(toLatex(tricroise(ttt, fisher=F), float.t="table", test=F, caption="Tri croisé RB $\\times$ actant ponctuable à la finale pour \\gm{¶}") )
#sink()

ttt<-table(refactor(tz[tz$P=="?",c("RB","CiF")]))
colnames(ttt)<-0:1
ch<-plotchi(ttt)
n<-c(rownames(ch$pos[ch$pos[,1]<.05,]))
toLatexFig("out/7.2.4.1.figure-punctuselevatus-type1", family="Times", caption="Liens entre CiF et RB pour punctus \\gm{\\protect\\kpela{}}")


ttt<-table(refactor(tz[tz$P=="/",c("RB","CiF")]))
colnames(ttt)<-0:1
ch<-plotchi(ttt)
n<-c(n,rownames(ch$pos[ch$pos[,1]<.05,]))
toLatexFig("out/7.2.4.1.figure-virgula", family="Times", caption="Liens entre CiF et RB pour punctus \\gm{/}")


ttt<-table(refactor(tz[tz$P=="!",c("RB","CiF")]))
colnames(ttt)<-0:1
ch<-plotchi(ttt)
toLatexFig("out/7.2.4.1.figure-punctuselevatus-type2", family="Times", caption="Liens entre CiF et RB pour punctus \\gm{\\protect\\kpelb}")
kill.dev()

# On enlève les ponctuants les moins représentés et les actants (qui déforment l'espace)

d<-dudi.coa(data.frame(m[c("·","/","?","!","··"),c(-2)], check.names=F), scan=F, nf=3)
d$summary<-my.summary(d)
par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, font=c(2,4), afc.lab="")
toLatexFig("out/7.2.4.1.figure-AFC-revised2", family="Times", caption="Analyse factorielle des correspondances: forme des ponctogrammes et environnement")

par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, ploteig=F, font=c(2,4), cols=F, main="")
my.plotcoa(d, ploteig=F, font=c(2,4), rows=F, main="")
toLatexFig("out/7.2.4.1.figure-AFC-revised2-split", family="Times", caption="Analyse factorielle des correspondances: forme des ponctogrammes et environnement
(points-lignes et points-colonnes séparés)")

par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, ploteig=F, font=c(2,4), cols=F, main="", xax=2, yax=3)
my.plotcoa(d, ploteig=F, font=c(2,4), rows=F, main="", xax=2, yax=3)
toLatexFig("out/7.2.4.1.figure-AFC-revised2-f2f3", family="Times", caption="Analyse factorielle des correspondances: forme des ponctogrammes et environnement
(points-lignes et points-colonnes séparés), facteurs 2 et 3")


sink("out/7.2.4.1.table-revised2-rows.tex")
catlat(toLatex(format(round(d$sum$ro, dig=2)), total.row=F, caption="Points-lignes, données numériques", float.type="longtable")) 
sink()
sink("out/7.2.4.1.table-revised2-cols.tex")
catlat(toLatex(format(round(d$sum$co, dig=2)), total.row=F, caption="Points-colonnes, données numériques", float.type="longtable")) 
sink()

sink("out/7.2.4.1.table-formsxsurround-revised2")
catlat(toLatex(tricroise(m[c("·","/","?","!","··"),c(-2)], fisher=F), test=F, caption="Tri croisé environnement $\\times$ forme du ponctogramme (revu)") )
sink()

# chi² sur les groupes:

# opposition <·> vs autres
mm<-m[c("·","/","?","!"),c("C5 F", "Énoncé", "Coord.")] 
mmm<-cbind(mm[,1], rowSums(mm[,-1]))
colnames(mmm)<-c("C5 F","Énoncé ou Coord.")

sink("out/7.3.table-part1.tex")
catlat(toLatex(tricroise(mmm), label="tab:7.3.table-part1", caption="Tri croisé forme des ponctogrammes (réduit) $\\times$ environnement (C5F, Énoncé, Coord.)"))
sink()

mmmm<-rbind(mmm[1,],colSums(mmm[-1,]))
rownames(mmmm)<-c("·","Autres")
sink("out/7.3.table-part2.tex")
catlat(toLatex(tricroise(mmmm, multi=4), caption="Tri croisé attraction de \\gm{·}"))
sink()

mmmm<-rbind(mmm[2,],colSums(mmm[c(-1,-2),]))
rownames(mmmm)<-c("/","? ou !")
sink("out/7.3.table-part3.tex")
catlat(toLatex(tricroise(mmmm, multi=4), caption="Tri croisé attraction de \\gm{/}"))
sink()

mmmm<-mmm[3:4,]
rownames(mmmm)<-c("?","!")
sink("out/7.3.table-part4.tex")
catlat(toLatex(tricroise(mmmm, multi=4), caption="Tri croisé opposition \\gm{\\protect\\kpela} \\emph{vs} \\gm{\\protect\\kpelb}"))
sink()




mm<-m[c("·","/","?","!","··"),c("Énoncé", "Coord.")] 
mmm<-rbind(mm[1,],colSums(mm[2:4,]))
rownames(mmm)<-c("·", "Autres")

sink("out/7.3.table-part5.tex")
catlat(toLatex(tricroise(mmm[]), caption="Tri croisé \\gm{·} $\\times$ contexte l'attirant"))
sink()

mm<-m[c("·","/","?","!","··"),c("Aucun","C5 F", "Énoncé", "Coord.", "Actant D", "C5 D")] 
mmm<-rbind(mm["··",],colSums(mm)-mm["··",])
mmmm<-cbind(mmm[,"Aucun"],rowSums(mmm)-mmm[,"Aucun"])
colnames(mmmm)<-c("Aucun", "Autres")
rownames(mmmm)<-c("··", "Autres")
do.app("dep-7.3.puncti", NULL, tz[tz$P=="··",], "")


sink("out/7.3.table-part6.tex")
catlat(toLatex(tricroise(mmmm, multi=4), caption="Tri croisé \\gm{··} $\\times$ contexte l'attirant"))
sink()




# en enlevant les chartes qui attirent le plus C5F
ex<-tz[!(tz$RB %in% n)&(rowSums(na.omit(tz[,2:5])))<=1,c("P","Phrase","Coord","CiD","CiF","AcD","AcF","H")]

df<-data.frame(table(ex[,-8]))
df<-df[rowSums(df[,2:7]=="TRUE")<=1 & df$Freq!=0,]
df<-carmerge(df, c(2:7), "unite")
levels(df[,"unite"])<-c("Aucun",rev(c("Énoncé","Coord.","C5 D","C5 F","Actant D", "Actant F")))

m<-matrix(nrow=length(levels(df[,"P"])), ncol=length(levels(df[,"unite"])))

for(i in 1:length(levels(df[,"P"]))) {
	for(j in 1:length(levels(df[,"unite"]))) {
		x<-df[df$P==levels(df[,"P"])[i] & df$unite==levels(df[,"unite"])[j],"Freq"]
		m[i,j]<-ifelse(length(x)!=0,x,0)
	}
}

colnames(m)<-levels(df[,"unite"])
rownames(m)<-as.character(levels(df[,"P"]))
d<-dudi.coa(data.frame(m[c("·","/","?","!","··"),c(-2)], check.names=F), scan=F, nf=3)
d$summary<-my.summary(d)
par(mfrow=c(2,2), font.main=1)
my.plotcoa(d, font=c(2,4), afc.lab="Points-lignes et points-colonnes")
#my.plotcoa(d, ploteig=F, font=c(2,4), cols=F, main="Points-lignes")
#my.plotcoa(d, ploteig=F, font=c(2,4), rows=F, main="Points-colonnes")

sink("out/7.2.4.1.table-formsxsurround-revised")
catlat(toLatex(tricroise(m[c("·","/","?","!","··"),c(-2)], fisher=F), test=F, caption="Tri croisé environnement $\\times$ forme du ponctogramme (revu)") )
sink()

toLatexFig("out/7.2.4.1.figure-AFC-revised", family="Times", caption="Analyse factorielle des correspondances: forme des ponctogrammes et environnement")

sink("out/7.2.4.1.table-revised-rows.tex")
catlat(toLatex(format(round(d$sum$ro, dig=2)), total.row=F, caption="Points-lignes, données numériques", float.type="longtable")) 
sink()

sink("out/7.2.4.1.table-revised-cols.tex")
catlat(toLatex(format(round(d$sum$co, dig=2)), total.row=F, caption="Points-colonnes, données numériques", float.type="longtable")) 
sink()


