Script Use of Lexicometry in Sensometrics

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] "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] "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))
8 26
new.base$pole<-c("Cl2","Cl2","Cl3","Cl3","Cl2","Cl1","Cl1","Cl2")
colnames(new.base)
[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] "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])
"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
$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
$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] "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] "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] "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] "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
                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
                  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] "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
        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)]
   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] "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
           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)]
      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