data <- read.table("C:/Users/MINH/Downloads/Salmon_characteristics.txt", header = TRUE, sep = "\t", stringsAsFactors = FALSE)
print(data)
##        Product   water   lipid    TVBN     TMA    salt  phenol      pH
## 1     prod1_Fr -0,8644  1,1375 -0,7629 -0,8717 -0,1471 -0,3776  1,5412
## 2     prod2_Fr -1,1476  0,7036  0,2357  0,3204  0,1626  0,0112  1,2098
## 3     prod3_Fr -0,4172  0,3378  0,4354  1,2144  0,3174  0,4001  0,3812
## 4   prod4_Scot -0,8147 -0,0961 -0,5632 -0,8717  0,3174 -0,4554  0,2154
## 5    prod5_Ger -1,6991  0,0366 -0,7629 -0,8717  2,1752 -0,3776 -0,2817
## 6    prod6_Ire -0,9886  0,9653 -0,7629 -0,8717  0,0077  0,6594  1,0441
## 7    prod7_Ire -1,5848  1,2809 -0,3635 -0,8717  0,0077 -0,1702  0,8783
## 8    prod8_Ger   0,338   0,094 -0,9626 -0,5737 -2,0049   1,126 -1,1104
## 9    prod9_Ire  1,9081 -0,2969 -1,1623 -0,8717  1,4011  1,4631  0,5469
## 10   prod10_It  0,1095 -2,1795  0,8348  0,0224  0,9366  0,9964  0,3812
## 11   prod11_Fr  1,4659  -1,283 -0,7629 -0,2757 -0,4567  -0,935 -1,7733
## 12   prod12_Dk  1,3615 -0,3005 -0,7629 -0,5737 -0,3793  0,3223  0,8783
## 13  prod13_Ger  0,1939 -0,3722  0,2357  0,6184 -0,7663 -1,1036  0,5469
## 14  prod14_Ger -0,1787  1,6072 -1,1623 -0,8717  0,3174 -0,4554 -0,9446
## 15   prod15_Fr  0,3976  0,5135 -0,9626 -0,7346  0,3948 -0,5591 -0,2817
## 16  prod16_Ger  1,5752 -0,9711 -0,7629 -0,2757  0,1626  -0,598 -0,2817
## 17   prod17_Fr -0,3228 -0,5623 -0,3635 -0,8717  1,5559 -0,6628 -1,4418
## 18   prod18_UK -0,5563  0,3665   2,033  2,1085  -1,076  1,0483  -0,116
## 19   prod19_UK  1,1131 -2,4628  1,2342  0,3204  0,0077   1,489  0,7126
## 20   prod20_Dk -0,3675  1,6251 -0,7629 -0,8717 -0,1471  0,0631 -1,2761
## 21   prod21_UK -1,2072  0,5709  0,8348  0,3204 -0,6115 -1,2073 -1,4418
## 22   prod22_Fr -0,9985  0,5529  1,4339  1,2144 -0,6889  0,0631 -0,4475
## 23  prod23_Ger  2,0273 -1,5341 -0,3635 -0,8717  0,9366 -0,2221 -0,4475
## 24   prod24_Dk  0,4821   0,431 -0,3635 -0,2757 -0,9212 -0,6369  1,3755
## 25  prod25_Bel  0,4622 -0,0853  2,6322  2,4065 -1,3856 -0,8443 -1,2761
## 26   prod26_UK  0,7554 -1,2472  0,4354  0,6184 -0,6115 -1,1813  2,0384
## 27   prod27_Fr  -0,924  0,3665 -0,0439 -0,1892  0,0077 -0,9739  1,0441
## 28  prod28_Bel -0,0048  0,5781  1,8333  2,1085 -1,3856 -0,7406  0,0497
## 29 prod29_Scot -0,1439 -0,4439 -0,7629 -0,8717  2,4848  0,4001 -1,1104
## 30  prod30_Bel    0,03  0,6677  0,2357  1,2144 -0,6115  3,4593 -0,6132
##    total.viable.count lactic.flora lactobacilli brochothrix  yeast
## 1              0,1112       0,6665       1,1382      0,5461 0,7729
## 2              0,4302      -0,4514        0,129     -0,7559 1,2034
## 3              0,8225       0,8725       0,4088      0,6465 0,2875
## 4             -0,2432      -1,5861      -1,0624     -0,7559 -1,034
## 5             -1,5584      -1,5861      -1,0624     -0,7559 -1,034
## 6             -2,5977      -1,5861      -1,0624     -0,7559 -1,034
## 7             -0,9336      -0,0449       0,3686     -0,7559 -1,034
## 8             -0,2561       0,4294       0,6069     -0,7559 0,4282
## 9             -1,1271      -1,5861      -1,0624     -0,7559 -1,034
## 10             0,2176       1,5327       1,9639      1,9004 0,7852
## 11             0,8505       0,5524       0,9344     -0,7559 2,1072
## 12             0,3222       0,8725       1,2442     -0,7559 1,2038
## 13             0,8076       0,0282      -1,0624      0,9831 -1,034
## 14            -0,8553      -0,4082      -1,0624     -0,7559 -1,034
## 15            -0,1907      -0,2986      -1,0624     -0,7559 -1,034
## 16            -0,2814       0,5306      -1,0624     -0,7559  0,498
## 17            -0,3769      -0,4776      -1,0624     -0,7559 -1,034
## 18             0,6098       0,8165      -1,0624      0,4217 0,0682
## 19             0,9992       1,2062       1,1989      2,4632 0,2875
## 20            -0,8152      -0,1654       0,2839     -0,7559 0,9324
## 21             1,0168       0,3479       0,4541      1,3957 0,2341
## 22             0,6157       0,8681       1,0535      1,1371 0,5504
## 23            -0,0665      -1,5861      -1,0624     -0,7559 -1,034
## 24             0,4494      -1,5861      -1,0624     -0,7559 -1,034
## 25             1,0223       0,8165       1,2312     -0,7559 0,2875
## 26             1,0932       0,8362       0,0909      0,9443 -1,034
## 27             0,3376       0,7697       0,5204      1,7156 1,9679
## 28             1,1384       0,8491       1,2539      0,5758 1,1315
## 29            -2,5977      -1,5861      -1,0624     -0,7559 -1,034
## 30             1,0558       0,9539       0,9302      0,8767 0,6964
##    enterobacteriaceae       L       a       b   origin
## 1              0,8314  0,9917 -0,6467 -0,4567   France
## 2              0,5998  0,8542  0,5297  0,9551   France
## 3              0,2524 -0,8548  0,3927  0,2813   France
## 4             -1,5793   0,302  1,7439  3,3236 Scotland
## 5             -0,9582 -1,3485  0,7341  0,5485  Germany
## 6             -1,5793 -0,4322  0,4016  0,4278  Ireland
## 7             -0,6424 -0,4737  1,2366  1,6822  Ireland
## 8             -0,6634 -1,0916  0,6655  0,9331  Germany
## 9             -0,5266   0,055 -0,3624 -0,6856  Ireland
## 10             0,8372 -1,8353 -1,0433  -0,513    Italy
## 11             1,4683  0,2448 -0,5423 -0,0307   France
## 12             0,0419  0,3527 -0,4328 -1,5026       DK
## 13             0,9735  0,5279  0,4921  0,2601  Germany
## 14            -0,9582  1,3714 -0,0805 -0,6433  Germany
## 15             1,0419  0,9614 -0,2456 -0,7466   France
## 16             0,0419  0,3384  0,2588 -0,5323  Germany
## 17            -0,6266  0,1846  0,3111  0,2349   France
## 18             0,0216 -0,7728  0,7864  0,2931       UK
## 19              1,547 -0,2587  0,2626  0,8976       UK
## 20            -1,5793  1,5224 -1,3598 -1,3411       DK
## 21             0,0109  2,5982 -3,9939 -1,8277       UK
## 22             0,5577  0,1901 -0,0805  0,3227   France
## 23            -1,5793  1,0328 -0,3553 -0,4847  Germany
## 24             0,0508  0,5514 -0,5153  -1,492       DK
## 25            -0,1055 -1,6298  0,7578  0,4104  Belgium
## 26             1,4803 -0,8136  0,5383 -0,0762       UK
## 27             1,6472 -0,3829  0,3803 -0,0363   France
## 28             0,6682 -1,0399  0,4114  0,2132  Belgium
## 29            -1,5793 -1,2488  0,6412   0,178 Scotland
## 30             0,3051  0,1036 -0,8857 -0,5929  Belgium
data[, 2:17] <- lapply(data[, 2:17], function(x) as.numeric(gsub(",", ".", x)))
data
##        Product   water   lipid    TVBN     TMA    salt  phenol      pH
## 1     prod1_Fr -0.8644  1.1375 -0.7629 -0.8717 -0.1471 -0.3776  1.5412
## 2     prod2_Fr -1.1476  0.7036  0.2357  0.3204  0.1626  0.0112  1.2098
## 3     prod3_Fr -0.4172  0.3378  0.4354  1.2144  0.3174  0.4001  0.3812
## 4   prod4_Scot -0.8147 -0.0961 -0.5632 -0.8717  0.3174 -0.4554  0.2154
## 5    prod5_Ger -1.6991  0.0366 -0.7629 -0.8717  2.1752 -0.3776 -0.2817
## 6    prod6_Ire -0.9886  0.9653 -0.7629 -0.8717  0.0077  0.6594  1.0441
## 7    prod7_Ire -1.5848  1.2809 -0.3635 -0.8717  0.0077 -0.1702  0.8783
## 8    prod8_Ger  0.3380  0.0940 -0.9626 -0.5737 -2.0049  1.1260 -1.1104
## 9    prod9_Ire  1.9081 -0.2969 -1.1623 -0.8717  1.4011  1.4631  0.5469
## 10   prod10_It  0.1095 -2.1795  0.8348  0.0224  0.9366  0.9964  0.3812
## 11   prod11_Fr  1.4659 -1.2830 -0.7629 -0.2757 -0.4567 -0.9350 -1.7733
## 12   prod12_Dk  1.3615 -0.3005 -0.7629 -0.5737 -0.3793  0.3223  0.8783
## 13  prod13_Ger  0.1939 -0.3722  0.2357  0.6184 -0.7663 -1.1036  0.5469
## 14  prod14_Ger -0.1787  1.6072 -1.1623 -0.8717  0.3174 -0.4554 -0.9446
## 15   prod15_Fr  0.3976  0.5135 -0.9626 -0.7346  0.3948 -0.5591 -0.2817
## 16  prod16_Ger  1.5752 -0.9711 -0.7629 -0.2757  0.1626 -0.5980 -0.2817
## 17   prod17_Fr -0.3228 -0.5623 -0.3635 -0.8717  1.5559 -0.6628 -1.4418
## 18   prod18_UK -0.5563  0.3665  2.0330  2.1085 -1.0760  1.0483 -0.1160
## 19   prod19_UK  1.1131 -2.4628  1.2342  0.3204  0.0077  1.4890  0.7126
## 20   prod20_Dk -0.3675  1.6251 -0.7629 -0.8717 -0.1471  0.0631 -1.2761
## 21   prod21_UK -1.2072  0.5709  0.8348  0.3204 -0.6115 -1.2073 -1.4418
## 22   prod22_Fr -0.9985  0.5529  1.4339  1.2144 -0.6889  0.0631 -0.4475
## 23  prod23_Ger  2.0273 -1.5341 -0.3635 -0.8717  0.9366 -0.2221 -0.4475
## 24   prod24_Dk  0.4821  0.4310 -0.3635 -0.2757 -0.9212 -0.6369  1.3755
## 25  prod25_Bel  0.4622 -0.0853  2.6322  2.4065 -1.3856 -0.8443 -1.2761
## 26   prod26_UK  0.7554 -1.2472  0.4354  0.6184 -0.6115 -1.1813  2.0384
## 27   prod27_Fr -0.9240  0.3665 -0.0439 -0.1892  0.0077 -0.9739  1.0441
## 28  prod28_Bel -0.0048  0.5781  1.8333  2.1085 -1.3856 -0.7406  0.0497
## 29 prod29_Scot -0.1439 -0.4439 -0.7629 -0.8717  2.4848  0.4001 -1.1104
## 30  prod30_Bel  0.0300  0.6677  0.2357  1.2144 -0.6115  3.4593 -0.6132
##    total.viable.count lactic.flora lactobacilli brochothrix   yeast
## 1              0.1112       0.6665       1.1382      0.5461  0.7729
## 2              0.4302      -0.4514       0.1290     -0.7559  1.2034
## 3              0.8225       0.8725       0.4088      0.6465  0.2875
## 4             -0.2432      -1.5861      -1.0624     -0.7559 -1.0340
## 5             -1.5584      -1.5861      -1.0624     -0.7559 -1.0340
## 6             -2.5977      -1.5861      -1.0624     -0.7559 -1.0340
## 7             -0.9336      -0.0449       0.3686     -0.7559 -1.0340
## 8             -0.2561       0.4294       0.6069     -0.7559  0.4282
## 9             -1.1271      -1.5861      -1.0624     -0.7559 -1.0340
## 10             0.2176       1.5327       1.9639      1.9004  0.7852
## 11             0.8505       0.5524       0.9344     -0.7559  2.1072
## 12             0.3222       0.8725       1.2442     -0.7559  1.2038
## 13             0.8076       0.0282      -1.0624      0.9831 -1.0340
## 14            -0.8553      -0.4082      -1.0624     -0.7559 -1.0340
## 15            -0.1907      -0.2986      -1.0624     -0.7559 -1.0340
## 16            -0.2814       0.5306      -1.0624     -0.7559  0.4980
## 17            -0.3769      -0.4776      -1.0624     -0.7559 -1.0340
## 18             0.6098       0.8165      -1.0624      0.4217  0.0682
## 19             0.9992       1.2062       1.1989      2.4632  0.2875
## 20            -0.8152      -0.1654       0.2839     -0.7559  0.9324
## 21             1.0168       0.3479       0.4541      1.3957  0.2341
## 22             0.6157       0.8681       1.0535      1.1371  0.5504
## 23            -0.0665      -1.5861      -1.0624     -0.7559 -1.0340
## 24             0.4494      -1.5861      -1.0624     -0.7559 -1.0340
## 25             1.0223       0.8165       1.2312     -0.7559  0.2875
## 26             1.0932       0.8362       0.0909      0.9443 -1.0340
## 27             0.3376       0.7697       0.5204      1.7156  1.9679
## 28             1.1384       0.8491       1.2539      0.5758  1.1315
## 29            -2.5977      -1.5861      -1.0624     -0.7559 -1.0340
## 30             1.0558       0.9539       0.9302      0.8767  0.6964
##    enterobacteriaceae       L       a       b   origin
## 1              0.8314  0.9917 -0.6467 -0.4567   France
## 2              0.5998  0.8542  0.5297  0.9551   France
## 3              0.2524 -0.8548  0.3927  0.2813   France
## 4             -1.5793  0.3020  1.7439  3.3236 Scotland
## 5             -0.9582 -1.3485  0.7341  0.5485  Germany
## 6             -1.5793 -0.4322  0.4016  0.4278  Ireland
## 7             -0.6424 -0.4737  1.2366  1.6822  Ireland
## 8             -0.6634 -1.0916  0.6655  0.9331  Germany
## 9             -0.5266  0.0550 -0.3624 -0.6856  Ireland
## 10             0.8372 -1.8353 -1.0433 -0.5130    Italy
## 11             1.4683  0.2448 -0.5423 -0.0307   France
## 12             0.0419  0.3527 -0.4328 -1.5026       DK
## 13             0.9735  0.5279  0.4921  0.2601  Germany
## 14            -0.9582  1.3714 -0.0805 -0.6433  Germany
## 15             1.0419  0.9614 -0.2456 -0.7466   France
## 16             0.0419  0.3384  0.2588 -0.5323  Germany
## 17            -0.6266  0.1846  0.3111  0.2349   France
## 18             0.0216 -0.7728  0.7864  0.2931       UK
## 19             1.5470 -0.2587  0.2626  0.8976       UK
## 20            -1.5793  1.5224 -1.3598 -1.3411       DK
## 21             0.0109  2.5982 -3.9939 -1.8277       UK
## 22             0.5577  0.1901 -0.0805  0.3227   France
## 23            -1.5793  1.0328 -0.3553 -0.4847  Germany
## 24             0.0508  0.5514 -0.5153 -1.4920       DK
## 25            -0.1055 -1.6298  0.7578  0.4104  Belgium
## 26             1.4803 -0.8136  0.5383 -0.0762       UK
## 27             1.6472 -0.3829  0.3803 -0.0363   France
## 28             0.6682 -1.0399  0.4114  0.2132  Belgium
## 29            -1.5793 -1.2488  0.6412  0.1780 Scotland
## 30             0.3051  0.1036 -0.8857 -0.5929  Belgium

Sử dụng mô hình ANOVA để kiểm tra nguồn gốc xuất xứ có ảnh hưởng đến biến TVBN hay không:

anova_result <- aov(TVBN ~ origin, data = data)
summary(anova_result)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## origin       7  19.48   2.783   5.823 0.000651 ***
## Residuals   22  10.52   0.478                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Kết luận sau khi chạy ANOVA, kết quả cho thấy sự ảnh hưởng của nguồn gốc xuất xứ lên biến TVBN có ý nghĩa về mặt thống kê. Đối với biến TVBN là chỉ số đo độ phân hủy protein, nếu chỉ số này càng cao thì chất lượng bảo quản sẽ càng kém.

anova_result <- aov(TMA ~ origin, data = data)
summary(anova_result)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## origin       7  19.92  2.8456    6.21 0.000429 ***
## Residuals   22  10.08  0.4582                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Kết luận kiểm định ANOVA cho thấy biến origin có ảnh hưởng đáng kể tới biến phụ thuộc TVBN, TMA.

library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.4.3
pca_all <- PCA(data[,2:17], scale.unit = TRUE, graph = TRUE)

dimdesc(pca_all)
## $Dim.1
## 
## Link between the variable and the continuous variables (R-square)
## =================================================================================
##                    correlation      p.value
## lactic.flora         0.9027708 9.041485e-12
## total.viable.count   0.8608419 1.046362e-09
## lactobacilli         0.7850662 2.795050e-07
## enterobacteriaceae   0.7762724 4.619296e-07
## TMA                  0.7642286 8.873792e-07
## TVBN                 0.7421954 2.668420e-06
## brochothrix          0.7317464 4.332436e-06
## yeast                0.6773779 3.930677e-05
## salt                -0.6282864 2.011201e-04
## 
## $Dim.2
## 
## Link between the variable and the continuous variables (R-square)
## =================================================================================
##   correlation      p.value
## a   0.8778081 1.890503e-10
## b   0.8241694 2.178219e-08
## L  -0.7871241 2.476715e-07
## 
## $Dim.3
## 
## Link between the variable and the continuous variables (R-square)
## =================================================================================
##       correlation      p.value
## water   0.7890492 2.209187e-07
## salt    0.3728883 4.241058e-02
## lipid  -0.8780974 1.832196e-10
plot.PCA(pca_all, choix = "ind", habillage = "TVBN")

Thực hiện một thử nghiệm thú vị, nếu hiển thị các điểm dữ liệu bằng màu sắc dựa trên mức độ giá trị TVBN. Nhận thấy các điểm nằm bên tay phải sẽ có màu đỏ đậm , nếu dich chuyển dần sang phía trái thì màu sắc chuyển sang tím và xanh. Sự thay đổi màu sắc theo hướng dịch chuyển quan sát này cho thấy giá trị TVBN của các điểm sẽ giảm dần từ lớn tới bé. Điều này cũng khá hợp lý nếu xét theo các nhân tố đang ảnh hưởng lớn tới trục chính thứ nhất là biến TVBN.

Nếu tiếp tục trực quan hóa màu các điểm dữ liệu theo biến TMA, kết quả thu được có thể giải thích tương tự như trên.

plot.PCA(pca_all, choix = "ind", habillage = "TMA")

Trực quan hóa màu sắc theo biến salt, kết quả thu được cũng được giải thích tương tự như trên.

plot.PCA(pca_all, choix = "ind", habillage = "salt")

Ngoài ra, để có thêm đầy đủ các mức độ tương quan của tất cả các nhân tố lên từng thành phần chính, chạy thêm một phân tích như bên dưới.

pca_all$var$coord
##                          Dim.1       Dim.2        Dim.3       Dim.4
## water               0.08237914 -0.22989312  0.789049164 -0.03478057
## lipid              -0.22599431 -0.17946577 -0.878097414 -0.03588850
## TVBN                0.74219542  0.32379546 -0.180952074 -0.10087553
## TMA                 0.76422862  0.27972628 -0.217976187 -0.13152445
## salt               -0.62828638  0.05331917  0.372888285 -0.05796052
## phenol              0.07473407  0.13732244  0.215449115 -0.62095613
## pH                  0.10425104  0.28738607  0.078544865  0.67142633
## total.viable.count  0.86084194 -0.11193940  0.007708845  0.21759430
## lactic.flora        0.90277082 -0.02699383  0.010218539 -0.09738304
## lactobacilli        0.78506625 -0.05095004 -0.017608032 -0.24703681
## brochothrix         0.73174642  0.03363621  0.108717081  0.15196301
## yeast               0.67737793 -0.22781362 -0.068691390 -0.22834642
## enterobacteriaceae  0.77627239 -0.03916104  0.197873357  0.42315426
## L                  -0.17371158 -0.78712412 -0.233258838  0.27842777
## a                  -0.22068103  0.87780815  0.009235180  0.12500932
## b                  -0.12694175  0.82416936 -0.159788273  0.03448896
##                           Dim.5
## water              -0.398836428
## lipid               0.128639506
## TVBN               -0.289211564
## TMA                -0.358431037
## salt                0.311602726
## phenol              0.398980423
## pH                  0.447826206
## total.viable.count -0.272545342
## lactic.flora        0.117938914
## lactobacilli        0.315439527
## brochothrix         0.359257139
## yeast               0.215071116
## enterobacteriaceae  0.134282221
## L                  -0.071070461
## a                  -0.114067780
## b                   0.000373733

Thực hiện thêm phân tích phần trăm giải thích phương sai của các thành phần chính.

pca_all$eig[, 2:3]
##         percentage of variance cumulative percentage of variance
## comp 1             34.17632493                          34.17632
## comp 2             15.70141202                          49.87774
## comp 3             11.26085714                          61.13859
## comp 4              8.35139136                          69.48999
## comp 5              7.77295594                          77.26294
## comp 6              6.15465300                          83.41759
## comp 7              5.49254757                          88.91014
## comp 8              3.48880625                          92.39895
## comp 9              2.22733324                          94.62628
## comp 10             1.86169893                          96.48798
## comp 11             1.15110061                          97.63908
## comp 12             0.96711318                          98.60619
## comp 13             0.57729636                          99.18349
## comp 14             0.48724787                          99.67074
## comp 15             0.23965332                          99.91039
## comp 16             0.08960828                         100.00000