Script Use of Lexicometry in Sensometrics

Figure 5. Words related to appreciation

sel.apprec <-which(rownames(as.data.frame(res.mfact.23$freq.sup))
%in%c("agréable","agressif","asséchant","beau","bon","chaleureux","complexe","curieux","cos",
"défaut","dens","desequilibri","équilibré","généreux","onctueux","particulier",
"puissant","rond","souple","structuré","complex","velouté","gouleyant",
"malaqualitat","pinassa","potencia","rodó","secant","limite","plat","mou"))
sel.apprec
 [1]   5  13  17  20  28  30  37  39  49  69  70  81  88  97  98 102 109 115 119
[20] 120 133 159 163 165 166 190 204 214 216
plot.MFA(res.mfact.23,choix=c("freq"),invisible=c("row","col"),axes=c(1,2),select=sel.apprec ,unselect=1,
legend=list(plot=FALSE),habillage="none",autoLab = c("yes"),cex=0.8,
title="",graph.type="classic")

 

French translation of 22 words

df.apprec.Fr <- data.frame(orig= "agréable", transl="pleasant")
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "agressif", transl="aggressive") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "asséchant", transl="drying") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "beau", transl="beautiful") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "bon", transl="good") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "chaleureux", transl="warm") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "complexe", transl="complex") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "curieux", transl="curious") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "défaut", transl="defect") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "équilibré", transl="balanced") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "généreux", transl="generous") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "gouleyant", transl="tasteful") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "limite", transl="limit") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "mou", transl="soft") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "onctueux", transl="unctuous") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "particulier", transl="particular") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "plat", transl="flat") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "puissant", transl="powerful") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "rond", transl="round") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "souple", transl="supple") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "structuré", transl="structured") )
df.apprec.Fr <- rbind(df.apprec.Fr, data.frame(orig= "velouté", transl="velvet") )
df.apprec.Fr$lang <- "Fr"

Catalan translation of 8 words

df.apprec.Cat <- data.frame(orig= "complex", transl="high")
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "cos", transl="full_bodied") )
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "dens", transl="dense") )
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "desequilibri", transl="imbalance") )
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "malaqualitat", transl="poorquality") )
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "pinassa", transl="pinassa") )
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "rodó", transl="round") )
df.apprec.Cat <- rbind(df.apprec.Cat, data.frame(orig= "secant", transl="drying") )
df.apprec.Cat$lang <- "Cat"

 

To join French coordinates and their translation:

df.apprec.Fr
          orig     transl lang
1     agréable   pleasant   Fr
2     agressif aggressive   Fr
3    asséchant     drying   Fr
4         beau  beautiful   Fr
5          bon       good   Fr
6   chaleureux       warm   Fr
7     complexe    complex   Fr
8      curieux    curious   Fr
9       défaut     defect   Fr
10   équilibré   balanced   Fr
11    généreux   generous   Fr
12   gouleyant   tasteful   Fr
13      limite      limit   Fr
14         mou       soft   Fr
15    onctueux   unctuous   Fr
16 particulier particular   Fr
17        plat       flat   Fr
18    puissant   powerful   Fr
19        rond      round   Fr
20      souple     supple   Fr
21   structuré structured   Fr
22     velouté     velvet   Fr
Coord.Fr.Fig5 <- merge(res.mfact.23$freq.sup$coord[1:135,], df.apprec.Fr, by.x=0, by.y="orig")
Coord.Fr.Fig5[,c(1:5,9,10)]
     Row.names      Dim.1        Dim.2       Dim.3       Dim.4     transl lang
1     agréable -0.3622113 -0.754415703 -0.03913020 -0.18872073   pleasant   Fr
2    asséchant -0.6733810 -0.803561875 -0.10146317  0.27194795     drying   Fr
3         beau  0.1846424  0.693693657 -0.09449363 -0.34464145  beautiful   Fr
4          bon -0.3661349  0.786808717  0.47009306  0.30805796       good   Fr
5   chaleureux  0.6657340  0.554044958  0.10360208 -0.21357552       warm   Fr
6     complexe  0.5960483  0.507511318  0.86628447  0.57018982    complex   Fr
7      curieux -0.3052359 -1.593741775  0.60169221 -0.23240807    curious   Fr
8       défaut -0.5966568 -0.571192552 -0.15997103 -0.21422006     defect   Fr
9    équilibré -0.2666819  0.078640165  0.40186324  0.52297614   balanced   Fr
10    généreux  1.5848955 -0.002238351 -0.54439416  0.38322473   generous   Fr
11   gouleyant -0.1072808  1.406847717  1.91993029  0.58127433   tasteful   Fr
12      limite -0.3052359 -1.593741775  0.60169221 -0.23240807      limit   Fr
13         mou -0.7423672 -0.059917941 -0.54080265 -0.20512605       soft   Fr
14    onctueux  0.2819501  0.455975637 -0.76596827 -0.65328005   unctuous   Fr
15 particulier -0.3052359 -1.593741775  0.60169221 -0.23240807 particular   Fr
16        plat -0.7423672 -0.059917941 -0.54080265 -0.20512605       flat   Fr
17    puissant  0.2324995  0.244534689  0.06489716  0.28386548   powerful   Fr
18        rond -0.5120008  0.979784095  0.58862337  0.08993399      round   Fr
19      souple -0.0343926  0.902010962  0.32855234 -0.57750861     supple   Fr
20   structuré -0.1072808  1.406847717  1.91993029  0.58127433 structured   Fr
21     velouté -0.0738231 -0.198647063  0.25657926 -0.24860346     velvet   Fr

 

 

To join Catalan coordinates and their translation:

df.apprec.Cat
          orig      transl lang
1      complex        high  Cat
2          cos full_bodied  Cat
3         dens       dense  Cat
4 desequilibri   imbalance  Cat
5 malaqualitat poorquality  Cat
6      pinassa     pinassa  Cat
7         rodó       round  Cat
8       secant      drying  Cat
Coord.Cat.Fig5 <- merge(res.mfact.23$freq.sup$coord[136:nrow(res.mfact.23$freq.sup$coord), ], df.apprec.Cat, by.x=0, by.y="orig")
Coord.Cat.Fig5[,c(1:5,9,10)]
     Row.names       Dim.1       Dim.2      Dim.3       Dim.4      transl lang
1      complex  0.25621245  0.22501723  1.2599178  0.30005544        high  Cat
2          cos  0.86235771 -0.09456111  0.4304749  0.27162192 full_bodied  Cat
3         dens  0.37408790 -0.18174291  0.9994396  0.21541158       dense  Cat
4 desequilibri -1.42400036  0.33008205 -0.9472114  1.37192587   imbalance  Cat
5 malaqualitat -0.29536903 -1.55529185  0.7231142 -0.25969536 poorquality  Cat
6      pinassa -0.84676461 -0.31271027 -0.4607370  0.43321992     pinassa  Cat
7         rodó  0.02363637 -0.46725895  0.6915393 -0.35041152       round  Cat
8       secant -0.53676643 -0.94764429  0.1811539  0.05678312      drying  Cat

 

To join French and Catalan coordinates:

Coord.Fig5 <- rbind(Coord.Fr.Fig5, Coord.Cat.Fig5)
Coord.Fig5[,c(1:5,9,10)]
      Row.names       Dim.1        Dim.2       Dim.3       Dim.4      transl lang
1      agréable -0.36221131 -0.754415703 -0.03913020 -0.18872073    pleasant   Fr
2     asséchant -0.67338104 -0.803561875 -0.10146317  0.27194795      drying   Fr
3          beau  0.18464237  0.693693657 -0.09449363 -0.34464145   beautiful   Fr
4           bon -0.36613490  0.786808717  0.47009306  0.30805796        good   Fr
5    chaleureux  0.66573397  0.554044958  0.10360208 -0.21357552        warm   Fr
6      complexe  0.59604830  0.507511318  0.86628447  0.57018982     complex   Fr
7       curieux -0.30523593 -1.593741775  0.60169221 -0.23240807     curious   Fr
8        défaut -0.59665679 -0.571192552 -0.15997103 -0.21422006      defect   Fr
9     équilibré -0.26668190  0.078640165  0.40186324  0.52297614    balanced   Fr
10     généreux  1.58489551 -0.002238351 -0.54439416  0.38322473    generous   Fr
11    gouleyant -0.10728079  1.406847717  1.91993029  0.58127433    tasteful   Fr
12       limite -0.30523593 -1.593741775  0.60169221 -0.23240807       limit   Fr
13          mou -0.74236722 -0.059917941 -0.54080265 -0.20512605        soft   Fr
14     onctueux  0.28195009  0.455975637 -0.76596827 -0.65328005    unctuous   Fr
15  particulier -0.30523593 -1.593741775  0.60169221 -0.23240807  particular   Fr
16         plat -0.74236722 -0.059917941 -0.54080265 -0.20512605        flat   Fr
17     puissant  0.23249948  0.244534689  0.06489716  0.28386548    powerful   Fr
18         rond -0.51200080  0.979784095  0.58862337  0.08993399       round   Fr
19       souple -0.03439260  0.902010962  0.32855234 -0.57750861      supple   Fr
20    structuré -0.10728079  1.406847717  1.91993029  0.58127433  structured   Fr
21      velouté -0.07382310 -0.198647063  0.25657926 -0.24860346      velvet   Fr
22      complex  0.25621245  0.225017231  1.25991777  0.30005544        high  Cat
23          cos  0.86235771 -0.094561115  0.43047490  0.27162192 full_bodied  Cat
24         dens  0.37408790 -0.181742905  0.99943959  0.21541158       dense  Cat
25 desequilibri -1.42400036  0.330082052 -0.94721141  1.37192587   imbalance  Cat
26 malaqualitat -0.29536903 -1.555291851  0.72311423 -0.25969536 poorquality  Cat
27      pinassa -0.84676461 -0.312710270 -0.46073696  0.43321992     pinassa  Cat
28         rodó  0.02363637 -0.467258947  0.69153926 -0.35041152       round  Cat
29       secant -0.53676643 -0.947644286  0.18115389  0.05678312      drying  Cat
Coord.Fig5$lang <- as.factor(Coord.Fig5$lang )
set.seed(1234)
Figure5 <- ggplot(Coord.Fig5)+
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.Fig5$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.Fig4$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 = element_markdown(lineheight = 1.1, hjust=1, size=20))+
ylim(-1.9, 1.1)+
ggtitle("Figure 5. Words related to appreciation")

 

To plot Figure 5:

set.seed(1234)
Figure5