4.5. MFACT Plane
Wine and Word Configuration on the First Plane Figure 2 shows the configuration of the eight wines on the first MFACT plane.
Global representation of the documents
plot.MFA(res.mfact.23,choix="ind",col.hab=rep("grey30",8),
title="Global representation of the wines-documents",cex=1,graph.type="classic")
Another global representation of the documents
dfp <- as.data.frame(res.mfact.23$ind$coord)
ax1 <-1 ; ax2 <-2
labx <- paste0("Dim 1 (", round(res.mfact.23$eig[ax1,2],1),"%)" )
laby <- paste0("Dim 2 (", round(res.mfact.23$eig[ax2,2],1),"%)" )
Figure2 <- ggplot(dfp, aes(x=Dim.1, y=Dim.2, label = rownames(dfp)))+
theme_light() + xlab(labx)+ ylab(laby) + coord_fixed()+
geom_hline(yintercept=0, linetype="dashed", color = "grey")+
geom_vline(xintercept=0, linetype="dashed", color = "grey")+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+
ggplot2::annotate("rect", xmin = c(-6), xmax = c(8),
ymin = -2.1, ymax = 2.2, alpha = .2, fill = c("green"),
color="black", linewidth=1) +
ggplot2::annotate("rect", xmin = c(-3), xmax = c(2),
ymin = -6.3, ymax = 5.8, alpha = .2, fill = c("brown"),color="black",
linewidth=1, lty="dashed")+
geom_text(size=5, fontface = "bold")+
theme(axis.title.x= element_text(size=15, face="bold"))+
theme(axis.title.y= element_text(size=15, face="bold"))+
theme(plot.margin = grid::unit(c(t=0,r= 2,b=5, l=2), "mm"))+
theme(axis.title.x = element_text(vjust = -2, hjust=0.5)) +
theme(panel.border = element_rect(colour = "black", fill=NA, linewidth=1))+
theme( axis.text.x = element_text(size=rel(1.6)))+
theme( axis.text.y = element_text(size=rel(1.6)))+
ggplot2::annotate("text", x=6.2,y=5.2,label = "Grenache wines", color ="black", size=5)+
ggplot2::annotate("text", x=6.2,y=4.6,label = "Carignan wines", color ="black", size=5)+
ggplot2::annotate("rect", xmin = c(3.5), xmax = c(3.9),
ymin = 4.9, ymax = 5.5, alpha = .2, fill = c("brown"),
color="black", linewidth=1, lty="dashed")+
ggplot2::annotate("rect", xmin = c(3.5), xmax = c(3.9),
ymin = 4.2, ymax = 4.8, alpha = .2, fill = c("green"), color="black", linewidth=1)+
ggtitle("Figure 2. Global representation of the wines documents")
Figure2
Characteristic words of the three poles
There are three clusters or poles in the first MFA plane:
- Cluster 1: (pole1) “PC06” “EC05” # Right of first factorial plane (first and second quadrants)
- Cluster 2: (pole2) “PG05” “PG06” “PC05” “EC06” # (Second quadrant)
- Cluster 3: (pole3) “EG05” “EG06” # Lower part of Dim 2 (third quadrant)
In order to position the characteristic words on the first factorial plane, the LexChar function of the Xplortext package will be used. Given the large number of words, only those with a minimum frequency of 3 for the French judges and 2 for the Catalan judges will be considered. A probability of 0.1 is established for this selection in order to have a reduced number of words and thus facilitate interpretation.
We must to remove FP2 judge (column 24) saving the results to new.base data frame.
The rows (wines) are: “PG05” “PG06” “EG05” “EG06” “PC05” “PC06” “EC05” “EC06”.
We have to add the cluster number (pole) to each of the wines.
new.base[,27]<-c(“Cl2”,“Cl2”,“Cl3”,“Cl3”,“Cl2”,“Cl1”,“Cl1”,“Cl2”)
colnames(base)
1 2 3 4 5 |
[1] "CE1" "CE2" "CE3" "CE4" "FE5" "FE6" [7] "CE7" "CE8" "CE9" "CE10" "CE11" "FE12" [13] "FP1" "FP3" "FP4" "FP5" "FP6" "FP7" [19] "FP8" "FP9" "FP10" "FP11" "FP12" "FP2" [25] "FrScore" "CatScore" |
new.base <- base[,-24]
colnames(new.base)
1 2 3 4 5 |
[1] "CE1" "CE2" "CE3" "CE4" "FE5" "FE6" [7] "CE7" "CE8" "CE9" "CE10" "CE11" "FE12" [13] "FP1" "FP3" "FP4" "FP5" "FP6" "FP7" [19] "FP8" "FP9" "FP10" "FP11" "FP12" "FrScore" [25] "CatScore" |
cat(dim(base))
1 |
8 26 |
new.base$pole<-c("Cl2","Cl2","Cl3","Cl3","Cl2","Cl1","Cl1","Cl2")
colnames(new.base)
1 2 3 4 5 |
[1] "CE1" "CE2" "CE3" "CE4" "FE5" "FE6" [7] "CE7" "CE8" "CE9" "CE10" "CE11" "FE12" [13] "FP1" "FP3" "FP4" "FP5" "FP6" "FP7" [19] "FP8" "FP9" "FP10" "FP11" "FP12" "FrScore" [25] "CatScore" "pole" |
To take the positions of 14 French judges:
posit.Fr <- c(5,6,12:23)
names(new.base[, posit.Fr])
1 2 |
[1] "FE5" "FE6" "FE12" "FP1" "FP3" "FP4" "FP5" "FP6" "FP7" "FP8" [11] "FP9" "FP10" "FP11" "FP12" |
To take the positions of 9 Catalan judges:
posit.Cat <- c(1:4, 7:11)
names(new.base[, posit.Cat])
1 |
"CE1" "CE2" "CE3" "CE4" "CE7" "CE8" "CE9" "CE10" "CE11" |
To obtain the French characteristic words for each cluster:
res.TD.Fr.Agg<-TextData(new.base,var.text=c(posit.Fr), stop.word.user=str.Fr.stopworduser,var.agg="pole",Fmin=3)
LC.Fig3.Fr <-LexChar(res.TD.Fr.Agg,proba=0.1)
LC.Fig3.Fr$CharWord
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
$Cl1 Intern % glob % Intern freq Glob freq p.value v.test bois 4.4585987 1.2519562 7 8 0.0003207468 3.597941 boisé 10.1910828 4.6948357 16 30 0.0006021027 3.430665 neuf 2.5477707 0.6259781 4 4 0.0035396358 2.916517 dominé 1.9108280 0.4694836 3 3 0.0146182364 2.441701 charpenté 2.5477707 0.7824726 4 5 0.0151396078 2.429022 vanillé 3.8216561 1.7214397 6 11 0.0368077948 2.087890 finale 1.9108280 0.6259781 3 4 0.0513936738 1.948178 nonboisé 0.0000000 1.4084507 0 9 0.0776001980 -1.764783 animal 0.0000000 1.4084507 0 9 0.0776001980 -1.764783 fruit 1.2738854 4.2253521 2 27 0.0253952179 -2.235337 fruité 0.6369427 3.7558685 1 24 0.0101671008 -2.570094 $Cl2 Intern % glob % Intern freq Glob freq p.value v.test fruit 6.508876 4.2253521 22 27 2.011013e-03 3.088601 fruité 5.325444 3.7558685 18 24 2.740705e-02 2.205671 souple 2.071006 1.2519562 7 8 5.463815e-02 1.921743 léger 2.071006 1.2519562 7 8 5.463815e-02 1.921743 rond 1.183432 0.6259781 4 4 7.762696e-02 1.764624 noir 1.183432 0.6259781 4 4 7.762696e-02 1.764624 mûr 2.958580 2.0344288 10 13 8.608338e-02 1.716430 fraîcheur 1.775148 1.0954617 6 7 9.388001e-02 1.675276 évent 1.775148 1.0954617 6 7 9.388001e-02 1.675276 tannique 1.183432 2.1909233 4 14 7.342496e-02 -1.790180 toasté 0.000000 0.6259781 0 4 4.871437e-02 -1.971083 neuf 0.000000 0.6259781 0 4 4.871437e-02 -1.971083 finale 0.000000 0.6259781 0 4 4.871437e-02 -1.971083 bois 0.295858 1.2519562 1 8 2.582280e-02 -2.228866 vanillé 0.591716 1.7214397 2 11 2.325646e-02 -2.269195 charpenté 0.000000 0.7824726 0 5 2.278452e-02 -2.277029 boisé 1.183432 4.6948357 4 30 5.537868e-06 -4.543306 $Cl3 Intern % glob % Intern freq Glob freq p.value v.test toasté 2.083333 0.6259781 3 4 0.04004621 2.053272 asséchant 2.777778 1.0954617 4 7 0.05678802 1.904939 épice 0.000000 1.4084507 0 9 0.09879800 -1.650709 très 0.000000 2.0344288 0 13 0.03488995 -2.109633 attr(,"class") [1] "descfreq" "list " |
To obtain the Catalan characteristic words for each cluster:
res.TD.Cat.Agg<-TextData(new.base,var.text=c(posit.Cat), stop.word.user=str.Cat.stopworduser,var.agg="pole",Fmin=2)
LC.Fig3.Cat <-LexChar(res.TD.Cat.Agg,proba=0.1)
LC.Fig3.Cat$CharWord
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$Cl1 Intern % glob % Intern freq Glob freq p.value v.test fusta 8.333333 2.7863777 7 9 0.001595904 3.156654 alt 4.761905 1.2383901 4 4 0.004334538 2.852730 cafè 3.571429 0.9287926 3 3 0.017124102 2.384032 especiat 4.761905 1.5479876 4 5 0.018411597 2.357235 torrat 3.571429 1.2383901 3 4 0.059827331 1.882064 claudolor 3.571429 1.2383901 3 4 0.059827331 1.882064 sutja 2.380952 0.6191950 2 2 0.067034594 1.831442 marcat 2.380952 0.6191950 2 2 0.067034594 1.831442 bota 2.380952 0.6191950 2 2 0.067034594 1.831442 regalèssia 4.761905 2.1671827 4 7 0.092345322 1.683154 madur 0.000000 2.4767802 0 8 0.087113463 -1.710825 fruita 0.000000 3.7151703 0 12 0.025018213 -2.241121 confitura 0.000000 4.0247678 0 13 0.018260882 -2.360285 $Cl2 Intern % glob % Intern freq Glob freq p.value v.test fruita 6.0240964 3.715170 10 12 0.02588888 2.227875 fusta 1.2048193 2.786378 2 9 0.08878735 -1.701829 regalèssia 0.6024096 2.167183 1 7 0.05793784 -1.896168 astringent 0.6024096 2.167183 1 7 0.05793784 -1.896168 torrat 0.0000000 1.238390 0 4 0.05472216 -1.921076 taní 0.0000000 1.238390 0 4 0.05472216 -1.921076 alt 0.0000000 1.238390 0 4 0.05472216 -1.921076 $Cl3 Intern % glob % Intern freq Glob freq p.value v.test secant 5.479452 1.857585 4 6 0.02772228 2.201194 neopre 2.739726 0.619195 2 2 0.05053555 1.955403 mantegós 2.739726 0.619195 2 2 0.05053555 1.955403 malaqualitat 2.739726 0.619195 2 2 0.05053555 1.955403 iode 2.739726 0.619195 2 2 0.05053555 1.955403 formatge 2.739726 0.619195 2 2 0.05053555 1.955403 cedre 2.739726 0.619195 2 2 0.05053555 1.955403 cartró 2.739726 0.619195 2 2 0.05053555 1.955403 astringent 5.479452 2.167183 4 7 0.05609819 1.910272 fusta 0.000000 2.786378 0 9 0.09643008 -1.662413 attr(,"class") [1] "descfreq" "list " |
We only need to construct a vector containing the words that appear in one of the three groups.
Words characteristic of French judges in one of the three poles:
Words.Fig3.Fr <- unique(unlist(lapply(LC.Fig3.Fr$CharWord, rownames)))
Words.Fig3.Fr <- sort(Words.Fig3.Fr)
Words.Fig3.Fr
1 2 3 |
[1] "animal" "asséchant" "bois" "boisé" "charpenté" "dominé" "épice" "évent" "finale" [10] "fraîcheur" "fruit" "fruité" "léger" "mûr" "neuf" "noir" "nonboisé" "rond" [19] "souple" "tannique" "toasté" "très" "vanillé" |
Words characteristic of Catalan judges in one of the three poles:
Words.Fig3.Cat <- unique(unlist(lapply(LC.Fig3.Cat$CharWord, rownames)))
Words.Fig3.Cat <- sort(Words.Fig3.Cat)
Words.Fig3.Cat
1 2 3 4 |
[1] "alt" "astringent" "bota" "cafè" "cartró" "cedre" "claudolor" [8] "confitura" "especiat" "formatge" "fruita" "fusta" "iode" "madur" [15] "malaqualitat" "mantegós" "marcat" "neopre" "regalèssia" "secant" "sutja" [22] "taní" "torrat" |
The first 135 words are French:
Fr.Words.MFA <- rownames(res.mfact.23$quanti.var.sup$coord[1:135,])
Fr.Words.MFA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[1] "acétate" "acide" "acidité" "acidulé" "agréable" "agrume" [7] "alcool" "amer" "amertume" "ample" "animal" "aspect" [13] "asséchant" "astringence" "astringent" "attendre" "beau" "bois" [19] "boisé" "bon" "bouche" "caramel" "carignan" "carton" [25] "cassis" "cerise" "chair" "chaleureux" "charpenté" "complexe" [31] "compoté" "concentration" "concentré" "confituré" "crayon" "cuit" [37] "curieux" "cyste" "défaut" "degarde" "dominé" "doux" [43] "dur" "emy" "encens" "épice" "épicé" "équilibre" [49] "équilibré" "étable" "évent" "évolué" "évolution" "extrême" [55] "farineux" "fin" "final" "finale" "floral" "fondu" [61] "fort" "fraîche" "fraîcheur" "frais" "fruit" "fruité" [67] "fumée" "garrigue" "généreux" "gouleyant" "gourmand" "gras" [73] "grenache" "grillé" "humide" "jeune" "kirché" "lacté" [79] "lactique" "léger" "limite" "long" "longueur" "manquedefondu" [85] "matière" "minéral" "moins" "mou" "mûr" "mûre" [91] "neuf" "neutre" "nez" "noir" "nonboisé" "olive" [97] "onctueux" "particulier" "petitegarde" "peu" "peutannique" "plat" [103] "plus" "prédominance" "présent" "prononcé" "pruneau" "puissance" [109] "puissant" "rafle" "râpeux" "réduction" "réglisse" "résine" [115] "rond" "rouge" "sec" "sécheresse" "souple" "structuré" [121] "sucrée" "sucrosité" "taille" "tanin" "tannique" "toasté" [127] "touche" "très" "trop" "type" "vanillé" "végétal" [133] "velouté" "vif" "vin" |
The words that occupy positions 136 to 230 are Catalan words:
Cat.Words.MFA <- rownames(res.mfact.23$freq.sup$coord[136:230,])
Cat.Words.MFA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[1] "acetatdetil" "acètic" "acidesabaix" "acidulat" "afrutat" "alcohòliques" [7] "alt" "arbust" "aroma" "astringent" "balsàmic" "boca" [13] "bota" "brisa" "cacau" "cafè" "caramel" "cartró" [19] "cassis" "cedre" "cirera" "cítric" "claudolor" "complex" [25] "compostos" "confitada" "confitura" "cos" "cosmitjabaix" "dens" [31] "desequilibri" "dolç" "especiat" "espigola" "eucaliptus" "farigola" [37] "floral" "florsseques" "formatge" "fruita" "fruitsec" "fum" [43] "fumat" "fusta" "gerani" "glicerol" "greix" "herbesseques" [49] "iode" "jove" "làctic" "liniment" "lleuger" "madur" [55] "malaqualitat" "mantegós" "marcat" "mel" "melós" "mentolat" [61] "mora" "nas" "neopre" "oxidat" "pebrotverd" "pegadolça" [67] "picant" "picat" "pinassa" "pla" "pocaaroma" "pocestructurat" [73] "pocpersistent" "pollen" "potència" "prunasec" "químic" "regalèssia" [79] "rodó" "roure" "secant" "sensacions" "sofre" "sotabosc" [85] "sucrositat" "sutja" "taní" "tànnic" "toffe" "torrat" [91] "torrefacte" "vainilla" "vegetal" "vi" "xocolata" |
To build a vector with the selected characteristic words and plot them:
pos.words.Fig3.Fr <- which(Fr.Words.MFA %in% Words.Fig3.Fr)
pos.words.Fig3.Cat <- which(Cat.Words.MFA %in% Words.Fig3.Cat)
pos.words.Fig3 <- c(pos.words.Fig3.Fr, 135+pos.words.Fig3.Cat)
plot.MFA(res.mfact.23,choix=c("freq"),invisible=c("row","col"),axes=c(1,2), select= pos.words.Fig3,unselect=1,
legend=list(plot=FALSE),habillage="none",autoLab = c("yes"),cex=0.8, title="",graph.type="classic")
Characteristic words in English on the MFACT plane using different colors for each judge group
Separate translations are provided for French and Catalan words.
Characteristic French words
Coord.Fr <- data.frame(res.mfact.23$freq.sup$coord[pos.words.Fig3.Fr,], lang="Fr")
Coord.Fr
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6 Dim.7 lang animal -0.59343967 -0.511722034 -0.290823763 -0.14090781 -0.14469656 -5.900284e-01 -0.36933291 Fr asséchant -0.67338104 -0.803561875 -0.101463172 0.27194795 0.26204007 -9.519306e-02 0.06850627 Fr bois 1.30114701 0.051069203 -0.483807494 0.08205348 -0.22732622 4.965811e-01 -0.19931170 Fr boisé 0.66641435 -0.480026128 -0.044177786 0.10843598 -0.03863853 1.937070e-01 0.13171020 Fr charpenté 1.24802969 -0.336910906 -0.255218575 0.22412317 -0.01192454 2.704951e-01 0.26337581 Fr dominé 1.48972280 -0.132100595 -0.425383218 0.44185159 -0.56820124 6.596303e-01 -0.27950682 Fr épice -0.01134125 0.253361545 -0.831494258 0.18607987 -0.17130206 -2.950341e-01 0.16920614 Fr évent -0.92317035 0.072908887 -0.754317378 0.28753767 0.01821749 -3.888060e-02 -0.09357353 Fr finale 1.23519276 -0.323182362 -0.272182884 0.14037764 0.37991193 -5.370408e-03 0.47145789 Fr fraîcheur -0.60089901 0.385991015 0.172514233 0.19735824 0.05102441 8.928621e-02 0.34090288 Fr fruit -0.47749854 0.355953911 -0.027557246 0.06103203 -0.14054131 3.862215e-02 -0.06106851 Fr fruité -0.39982720 0.329897705 0.288711006 -0.08539560 0.19727933 -4.020929e-05 -0.09620369 Fr léger -0.84266652 0.315674093 -0.285823379 0.17022403 0.44263986 7.037213e-01 0.32350305 Fr mûr -0.32364408 0.302200189 -0.019685111 -0.63726117 -0.17254803 1.266075e-01 -0.08732380 Fr neuf 1.58489551 -0.002238351 -0.544394158 0.38322473 -0.06266666 3.024667e-01 -0.13478398 Fr noir -0.51200080 0.979784095 0.588623369 0.08993399 0.22809222 3.054174e-01 -0.03684067 Fr nonboisé -0.68346651 0.164631867 0.048985206 0.30313197 0.20450185 1.163886e-01 0.06586744 Fr rond -0.51200080 0.979784095 0.588623369 0.08993399 0.22809222 3.054174e-01 -0.03684067 Fr souple -0.03439260 0.902010962 0.328552340 -0.57750861 0.04507460 -1.428955e-01 -0.04713331 Fr tannique 0.30973816 -0.467442131 -0.005427685 0.10256343 -0.31188564 -2.826680e-01 0.08310495 Fr toasté 0.29012704 -1.118934073 0.300860299 -0.16743876 0.63777844 -2.796487e-01 0.47369343 Fr très 0.33371388 0.531209809 -0.227265792 -0.34394285 0.07777862 1.705868e-01 -0.05254504 Fr vanillé 0.70680948 -0.354176022 -0.232543146 -0.06772137 -0.05969652 4.114211e-02 0.08403530 Fr |
Characteristic Catalan words
Coord.Cat <- data.frame(res.mfact.23$freq.sup$coord[135+pos.words.Fig3.Cat,], lang="Cat")
Coord.Cat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6 Dim.7 lang alt 1.5947624 0.036211572 -0.4229721 0.35593743 -0.07250461 0.31522990 -0.101814243 Cat astringent 0.2729478 -0.671920946 0.5839807 0.03244007 0.23168459 -0.08569083 -0.098122551 Cat bota 1.5947624 0.036211572 -0.4229721 0.35593743 -0.07250461 0.31522990 -0.101814243 Cat cafè 1.4995897 -0.093650671 -0.3039612 0.41456430 -0.57803919 0.67239344 -0.246537076 Cat cartró -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat cedre -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat claudolor 1.1700245 0.337620046 -0.4803152 -0.33434536 0.35647814 0.16771341 -0.013785433 Cat confitura -0.4074681 0.108617159 0.4205172 -0.35982503 -0.01193924 -0.14860409 -0.007032928 Cat especiat 1.1978684 0.199421005 -0.3974400 -0.16111268 -0.03263916 0.41151483 -0.118224895 Cat formatge -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat fruita -0.4190979 0.443405443 0.4582364 -0.11395668 -0.22491157 -0.36188649 0.048398249 Cat fusta 1.2179704 0.326736013 -0.1746441 0.07115059 0.12553131 0.18164269 -0.061806163 Cat iode -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat madur -0.2837087 0.006574687 0.6378617 -0.53775737 -0.02690668 -0.13696810 0.190794988 Cat malaqualitat -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat mantegós -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat marcat 1.5947624 0.036211572 -0.4229721 0.35593743 -0.07250461 0.31522990 -0.101814243 Cat neopre -0.2953690 -1.555291851 0.7231142 -0.25969536 0.44322841 -0.23332663 -0.097343151 Cat regalèssia 0.6234730 -0.376522195 -0.1704102 0.32518356 0.19355106 0.26633032 -0.035120850 Cat secant -0.5367664 -0.947644286 0.1811539 0.05678312 0.16783263 -0.27450917 0.059039122 Cat sutja 1.5947624 0.036211572 -0.4229721 0.35593743 -0.07250461 0.31522990 -0.101814243 Cat taní 0.6496967 -0.759540140 0.1500710 0.04812104 0.18536190 0.04095164 -0.099578697 Cat torrat 1.1421585 -0.243802765 -0.3006566 0.20302783 0.50108518 -0.18695654 -0.488736316 Cat |
French words:
Words.Fig3.Fr
1 2 3 4 |
[1] "animal" "asséchant" "bois" "boisé" "charpenté" "dominé" [7] "épice" "évent" "finale" "fraîcheur" "fruit" "fruité" [13] "léger" "mûr" "neuf" "noir" "nonboisé" "rond" [19] "souple" "tannique" "toasté" "très" "vanillé" |
df.Char.Fr <- data.frame(orig= "animal", transl="animal")
df.Char.Fr <- rbind(df.Char.Fr, data.frame(orig= "asséchant", transl="drying") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "bois", transl="wood") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "boisé", transl="woody") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "charpenté", transl="structured") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "dominé", transl="surpass") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "épice", transl="spicy") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "évent", transl="staleness") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "finale", transl="final") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "fraîcheur", transl="freshness") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "fruit", transl="fruit") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "fruité", transl="fruity") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "léger", transl="light") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "mûr", transl="ripe") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "neuf", transl="new") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "noir", transl="black") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "nonboisé", transl="unwooded") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "rond", transl="round") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "souple", transl="supple") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "tannique", transl="tannic") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "toasté", transl="toasted") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "très", transl="very") )
df.Char.Fr<- rbind(df.Char.Fr, data.frame(orig= "vanillé", transl="vanillin") )
df.Char.Fr
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
orig transl 1 animal animal 2 asséchant drying 3 bois wood 4 boisé woody 5 charpenté structured 6 dominé surpass 7 épice spicy 8 évent staleness 9 finale final 10 fraîcheur freshness 11 fruit fruit 12 fruité fruity 13 léger light 14 mûr ripe 15 neuf new 16 noir black 17 nonboisé unwooded 18 rond round 19 souple supple 20 tannique tannic 21 toasté toasted 22 très very 23 vanillé vanillin |
To join French coordinates and their translation:
Coord.Fr.Fig3 <- merge(Coord.Fr, df.Char.Fr, by.x=0, by.y="orig")
Coord.Fr.Fig3[,c(1:5,9,10)]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Row.names Dim.1 Dim.2 Dim.3 Dim.4 lang transl 1 animal -0.59343967 -0.511722034 -0.290823763 -0.14090781 Fr animal 2 asséchant -0.67338104 -0.803561875 -0.101463172 0.27194795 Fr drying 3 bois 1.30114701 0.051069203 -0.483807494 0.08205348 Fr wood 4 boisé 0.66641435 -0.480026128 -0.044177786 0.10843598 Fr woody 5 charpenté 1.24802969 -0.336910906 -0.255218575 0.22412317 Fr structured 6 dominé 1.48972280 -0.132100595 -0.425383218 0.44185159 Fr surpass 7 épice -0.01134125 0.253361545 -0.831494258 0.18607987 Fr spicy 8 évent -0.92317035 0.072908887 -0.754317378 0.28753767 Fr staleness 9 finale 1.23519276 -0.323182362 -0.272182884 0.14037764 Fr final 10 fraîcheur -0.60089901 0.385991015 0.172514233 0.19735824 Fr freshness 11 fruit -0.47749854 0.355953911 -0.027557246 0.06103203 Fr fruit 12 fruité -0.39982720 0.329897705 0.288711006 -0.08539560 Fr fruity 13 léger -0.84266652 0.315674093 -0.285823379 0.17022403 Fr light 14 mûr -0.32364408 0.302200189 -0.019685111 -0.63726117 Fr ripe 15 neuf 1.58489551 -0.002238351 -0.544394158 0.38322473 Fr new 16 noir -0.51200080 0.979784095 0.588623369 0.08993399 Fr black 17 nonboisé -0.68346651 0.164631867 0.048985206 0.30313197 Fr unwooded 18 rond -0.51200080 0.979784095 0.588623369 0.08993399 Fr round 19 souple -0.03439260 0.902010962 0.328552340 -0.57750861 Fr supple 20 tannique 0.30973816 -0.467442131 -0.005427685 0.10256343 Fr tannic 21 toasté 0.29012704 -1.118934073 0.300860299 -0.16743876 Fr toasted 22 très 0.33371388 0.531209809 -0.227265792 -0.34394285 Fr very 23 vanillé 0.70680948 -0.354176022 -0.232543146 -0.06772137 Fr vanillin |
Catalan words:
Words.Fig3.Cat
1 2 3 4 5 |
[1] "alt" "astringent" "bota" "cafè" "cartró" [6] "cedre" "claudolor" "confitura" "especiat" "formatge" [11] "fruita" "fusta" "iode" "madur" "malaqualitat" [16] "mantegós" "marcat" "neopre" "regalèssia" "secant" [21] "sutja" "taní" "torrat" |
df.Char.Cat <- data.frame(orig= "alt", transl="high")
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "astringent", transl="astringent") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "bota", transl="barrel") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "cafè", transl="coffee") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "cartró", transl="cardboard") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "cedre", transl="cedar") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "claudolor", transl="clove") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "confitura", transl="jelly") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "especiat", transl="spicy") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "formatge", transl="cheese") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "fruita", transl="fruit") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "fusta", transl="wood") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "iode", transl="iodine") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "madur", transl="mature") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "malaqualitat", transl="poorquality") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "mantegós", transl="buttered") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "marcat", transl="marked") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "neopre", transl="neoprene") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "regalèssia", transl="licorice") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "secant", transl="drying") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "sutja", transl="soot") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "taní", transl="tannin") )
df.Char.Cat <- rbind(df.Char.Cat , data.frame(orig= "torrat", transl="toasted") )
df.Char.Cat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
orig transl 1 alt high 2 astringent astringent 3 bota barrel 4 cafè coffee 5 cartró cardboard 6 cedre cedar 7 claudolor clove 8 confitura jelly 9 especiat spicy 10 formatge cheese 11 fruita fruit 12 fusta wood 13 iode iodine 14 madur mature 15 malaqualitat poorquality 16 mantegós buttered 17 marcat marked 18 neopre neoprene 19 regalèssia licorice 20 secant drying 21 sutja soot 22 taní tannin 23 torrat toasted |
To join Catalan coordinates and their translation:
Coord.Cat.Fig3 <- merge(Coord.Cat, df.Char.Cat, by.x=0, by.y="orig")
Coord.Cat.Fig3[,c(1:5,9,10)]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Row.names Dim.1 Dim.2 Dim.3 Dim.4 lang transl 1 alt 1.5947624 0.036211572 -0.4229721 0.35593743 Cat high 2 astringent 0.2729478 -0.671920946 0.5839807 0.03244007 Cat astringent 3 bota 1.5947624 0.036211572 -0.4229721 0.35593743 Cat barrel 4 cafè 1.4995897 -0.093650671 -0.3039612 0.41456430 Cat coffee 5 cartró -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat cardboard 6 cedre -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat cedar 7 claudolor 1.1700245 0.337620046 -0.4803152 -0.33434536 Cat clove 8 confitura -0.4074681 0.108617159 0.4205172 -0.35982503 Cat jelly 9 especiat 1.1978684 0.199421005 -0.3974400 -0.16111268 Cat spicy 10 formatge -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat cheese 11 fruita -0.4190979 0.443405443 0.4582364 -0.11395668 Cat fruit 12 fusta 1.2179704 0.326736013 -0.1746441 0.07115059 Cat wood 13 iode -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat iodine 14 madur -0.2837087 0.006574687 0.6378617 -0.53775737 Cat mature 15 malaqualitat -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat poorquality 16 mantegós -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat buttered 17 marcat 1.5947624 0.036211572 -0.4229721 0.35593743 Cat marked 18 neopre -0.2953690 -1.555291851 0.7231142 -0.25969536 Cat neoprene 19 regalèssia 0.6234730 -0.376522195 -0.1704102 0.32518356 Cat licorice 20 secant -0.5367664 -0.947644286 0.1811539 0.05678312 Cat drying 21 sutja 1.5947624 0.036211572 -0.4229721 0.35593743 Cat soot 22 taní 0.6496967 -0.759540140 0.1500710 0.04812104 Cat tannin 23 torrat 1.1421585 -0.243802765 -0.3006566 0.20302783 Cat toasted |
To build Figure 3:
ax1 <-1 ; ax2 <-2
labx <- paste0("Dim 1 (", round(res.mfact.23$eig[ax1,2],1),"%)" )
laby <- paste0("Dim 2 (", round(res.mfact.23$eig[ax2,2],1),"%)" )
font.type.FRCat <- c("bold", "bold.italic")
color.type.FRCat <- c("Green", "Blue")col.margin = c("black", "red")
Coord.Fig3$lang <- as.factor(Coord.Fig3$lang)
set.seed(123)
library(ggtext)
Figure3 <- ggplot(Coord.Fig3)+
theme_light() + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+
xlab(labx)+ ylab(laby) + coord_fixed()+
geom_hline(yintercept=0, linetype="dashed", color = "grey")+
geom_vline(xintercept=0, linetype="dashed", color = "grey")+
geom_text_repel(size=5, fontface = font.type.FRCat[Coord.Fig3$lang], max.overlaps=100,
box.padding = unit(0.35, "lines"),
aes(x=Dim.1, y=Dim.2, label = transl, color=lang))+
theme( axis.text.x = element_text(size=rel(1.6)))+
theme( axis.text.y = element_text(size=rel(1.6)))+
labs(x=labx)+labs(y=laby)+
theme(axis.title.x= element_text(size=17, face="bold"))+
theme(axis.title.y= element_text(size=17, face="bold"))+
theme(plot.margin = grid::unit(c(t=5,r= 2,b=5, l=2), "mm"))+
scale_color_manual(name="Language",
labels=c("Catalan","French"),
values = setNames(col.margin, levels(Coord.Fig3$lang))) +
theme(axis.title.x = element_text(margin=margin(t=10))) +
theme(panel.border = element_rect(colour = "black", fill=NA, linewidth=1)) +
theme(legend.position = "none")+
labs(title = "Words originally in <b style='color:#FF0000'>**_French_**</b> and **Catalan**")+
theme(plot.title = ggtext::element_markdown(lineheight = 1.1, hjust=1, size=20))+
ylim(-1.9, 1.1)+
ggtitle("Figure 3. Characteristic words of the three poles")
To plot Figure 3:
set.seed(123)
Figure3