Hình 1: Hình minh hoạ PCA (Nguồn: Internet)
Hình 2: Thay đổi hệ toạ độ trong PCA (Nguồn: Internet)
Hình 2: Thay đổi hệ toạ độ trong PCA (Nguồn: Internet)
install.packages(c("FactoMineR", "factoextra"))
library("FactoMineR")
library("factoextra")
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
data(iris)
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
df <- iris[, 1:4]
head(df)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 5.1 3.5 1.4 0.2
## 2 4.9 3.0 1.4 0.2
## 3 4.7 3.2 1.3 0.2
## 4 4.6 3.1 1.5 0.2
## 5 5.0 3.6 1.4 0.2
## 6 5.4 3.9 1.7 0.4
PCA(X, scale.unit = TRUE, ncp = 5, graph = TRUE)
library("FactoMineR")
pca <- PCA(df, graph = FALSE)
print(pca)
## **Results for the Principal Component Analysis (PCA)**
## The analysis was performed on 150 individuals, described by 4 variables
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$var" "results for the variables"
## 3 "$var$coord" "coord. for the variables"
## 4 "$var$cor" "correlations variables - dimensions"
## 5 "$var$cos2" "cos2 for the variables"
## 6 "$var$contrib" "contributions of the variables"
## 7 "$ind" "results for the individuals"
## 8 "$ind$coord" "coord. for the individuals"
## 9 "$ind$cos2" "cos2 for the individuals"
## 10 "$ind$contrib" "contributions of the individuals"
## 11 "$call" "summary statistics"
## 12 "$call$centre" "mean of the variables"
## 13 "$call$ecart.type" "standard error of the variables"
## 14 "$call$row.w" "weights for the individuals"
## 15 "$call$col.w" "weights for the variables"
library(factoextra)
eig.val <- get_eigenvalue(pca)
eig.val
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 2.91849782 72.9624454 72.96245
## Dim.2 0.91403047 22.8507618 95.81321
## Dim.3 0.14675688 3.6689219 99.48213
## Dim.4 0.02071484 0.5178709 100.00000
Tỉ lệ của các biến thiên được thể hiện bằng một giá trị eigenvalue ở cột thứ 2. VD: Dim.1 có eigen value là 2.918, tương ứng với tỉ lệ % phương sai là 72.96 (= 2.918/4)
Các giá trị eigen được sử dụng để xác định số lượng các thành phần chính cần giữ lại sau PCA (Kaiser 1961):
Nếu giá trị eigen > 1 nói lên rằng các thành phần chính (PCs) chiếm nhiều phương sai hơn so với một trong các biến ban đầu. Đây thường được dùng như một điểm giới hạn để xác định các PC được giữ lại.*
Chúng ta có thể giới hạn số lượng thành phần chính mà số đó chiếm một phần nhất định của tổng phương sai (VD > 70%).
Trực quan tỉ lệ các thành phần chính bằng biểu đồ scree với các hàm fviz_eig()
hoặc fviz_screeplot()
trong packages factoextra
fviz_eig(pca, addlabels = TRUE, ylim = c(0, 100))
fviz_pca_ind(pca,
geom.ind = "point", # show points only (nbut not "text")
col.ind = iris$Species, # color by groups
palette = c("#00AFBB", "#E7B800", "#FC4E07"),
addEllipses = TRUE, # Concentration ellipses
legend.title = "Groups"
)
myPr <- prcomp(iris[, -5])
myPr <- prcomp(iris[, -5], scale = TRUE)
myPr # Kiểm tra kết quả
## Standard deviations (1, .., p=4):
## [1] 1.7083611 0.9560494 0.3830886 0.1439265
##
## Rotation (n x k) = (4 x 4):
## PC1 PC2 PC3 PC4
## Sepal.Length 0.5210659 -0.37741762 0.7195664 0.2612863
## Sepal.Width -0.2693474 -0.92329566 -0.2443818 -0.1235096
## Petal.Length 0.5804131 -0.02449161 -0.1421264 -0.8014492
## Petal.Width 0.5648565 -0.06694199 -0.6342727 0.5235971
Lưu ý rằng “scale = TRUE” trong lệnh trên có nghĩa là dữ liệu được chuẩn hóa trước khi phân tích PCA, do đó mỗi biến có đơn vị phương sai.
plot(myPr, ylim = c(0,4)) # Biểu đồ phương sai mỗi thành phần chính thu được
plot(myPr, type = "l") # Biểu đồ phương sai mỗi thành phần chính thu được
biplot(myPr)
biplot(myPr, scale = 0)
str(myPr) # Kiểm tra cấu trúc đối tượng, liệt kê tất cả các thành phần
## List of 5
## $ sdev : num [1:4] 1.708 0.956 0.383 0.144
## $ rotation: num [1:4, 1:4] 0.521 -0.269 0.58 0.565 -0.377 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:4] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"
## .. ..$ : chr [1:4] "PC1" "PC2" "PC3" "PC4"
## $ center : Named num [1:4] 5.84 3.06 3.76 1.2
## ..- attr(*, "names")= chr [1:4] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"
## $ scale : Named num [1:4] 0.828 0.436 1.765 0.762
## ..- attr(*, "names")= chr [1:4] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"
## $ x : num [1:150, 1:4] -2.26 -2.07 -2.36 -2.29 -2.38 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:4] "PC1" "PC2" "PC3" "PC4"
## - attr(*, "class")= chr "prcomp"
myPr$x # Giá trị toạ độ mới cho mỗi observation
## PC1 PC2 PC3 PC4
## [1,] -2.25714118 -0.478423832 0.127279624 0.024087508
## [2,] -2.07401302 0.671882687 0.233825517 0.102662845
## [3,] -2.35633511 0.340766425 -0.044053900 0.028282305
## [4,] -2.29170679 0.595399863 -0.090985297 -0.065735340
## [5,] -2.38186270 -0.644675659 -0.015685647 -0.035802870
## [6,] -2.06870061 -1.484205297 -0.026878250 0.006586116
## [7,] -2.43586845 -0.047485118 -0.334350297 -0.036652767
## [8,] -2.22539189 -0.222403002 0.088399352 -0.024529919
## [9,] -2.32684533 1.111603700 -0.144592465 -0.026769540
## [10,] -2.17703491 0.467447569 0.252918268 -0.039766068
## [11,] -2.15907699 -1.040205867 0.267784001 0.016675503
## [12,] -2.31836413 -0.132633999 -0.093446191 -0.133037725
## [13,] -2.21104370 0.726243183 0.230140246 0.002416941
## [14,] -2.62430902 0.958296347 -0.180192423 -0.019151375
## [15,] -2.19139921 -1.853846555 0.471322025 0.194081578
## [16,] -2.25466121 -2.677315230 -0.030424684 0.050365010
## [17,] -2.20021676 -1.478655729 0.005326251 0.188186988
## [18,] -2.18303613 -0.487206131 0.044067686 0.092779618
## [19,] -1.89223284 -1.400327567 0.373093377 0.060891973
## [20,] -2.33554476 -1.124083597 -0.132187626 -0.037630354
## [21,] -1.90793125 -0.407490576 0.419885937 0.010884821
## [22,] -2.19964383 -0.921035871 -0.159331502 0.059398340
## [23,] -2.76508142 -0.456813301 -0.331069982 0.019582826
## [24,] -1.81259716 -0.085272854 -0.034373442 0.150636353
## [25,] -2.21972701 -0.136796175 -0.117599566 -0.269238379
## [26,] -1.94532930 0.623529705 0.304620475 0.043416203
## [27,] -2.04430277 -0.241354991 -0.086075649 0.067454082
## [28,] -2.16133650 -0.525389422 0.206125707 0.010241084
## [29,] -2.13241965 -0.312172005 0.270244895 0.083977887
## [30,] -2.25769799 0.336604248 -0.068207276 -0.107918349
## [31,] -2.13297647 0.502856075 0.074757996 -0.048027970
## [32,] -1.82547925 -0.422280389 0.269564311 0.239069476
## [33,] -2.60621687 -1.787587272 -0.047070727 -0.228470534
## [34,] -2.43800983 -2.143546796 0.082392024 -0.048053409
## [35,] -2.10292986 0.458665270 0.169706329 0.028926042
## [36,] -2.20043723 0.205419224 0.224688852 0.168343905
## [37,] -2.03831765 -0.659349230 0.482919584 0.195702902
## [38,] -2.51889339 -0.590315163 -0.019370918 -0.136048774
## [39,] -2.42152026 0.901161067 -0.192609402 -0.009705907
## [40,] -2.16246625 -0.267981199 0.175296561 0.007023875
## [41,] -2.27884081 -0.440240541 -0.034778398 0.106626042
## [42,] -1.85191836 2.329610745 0.203552303 0.288896090
## [43,] -2.54511203 0.477501017 -0.304745527 -0.066379077
## [44,] -1.95788857 -0.470749613 -0.308567588 0.176501717
## [45,] -2.12992356 -1.138415464 -0.247604064 -0.150539117
## [46,] -2.06283361 0.708678586 0.063716370 0.139801160
## [47,] -2.37677076 -1.116688691 -0.057026813 -0.151722682
## [48,] -2.38638171 0.384957230 -0.139002234 -0.048671707
## [49,] -2.22200263 -0.994627669 0.180886792 -0.014878291
## [50,] -2.19647504 -0.009185585 0.152518539 0.049206884
## [51,] 1.09810244 -0.860091033 0.682300393 0.034717469
## [52,] 0.72889556 -0.592629362 0.093807452 0.004887251
## [53,] 1.23683580 -0.614239894 0.552157058 0.009391933
## [54,] 0.40612251 1.748546197 0.023024633 0.065549239
## [55,] 1.07188379 0.207725147 0.396925784 0.104387166
## [56,] 0.38738955 0.591302717 -0.123776885 -0.240027187
## [57,] 0.74403715 -0.770438272 -0.148472007 -0.077111455
## [58,] -0.48569562 1.846243998 -0.248432992 -0.040384912
## [59,] 0.92480346 -0.032118478 0.594178807 -0.029779844
## [60,] 0.01138804 1.030565784 -0.537100055 -0.028366154
## [61,] -0.10982834 2.645211115 0.046634215 0.013714785
## [62,] 0.43922201 0.063083852 -0.204389093 0.039992104
## [63,] 0.56023148 1.758832129 0.763214554 0.045578465
## [64,] 0.71715934 0.185602819 0.068429700 -0.164256922
## [65,] -0.03324333 0.437537419 -0.194282030 0.108684396
## [66,] 0.87248429 -0.507364239 0.501830204 0.104593326
## [67,] 0.34908221 0.195656268 -0.489234095 -0.190869932
## [68,] 0.15827980 0.789451008 0.301028700 -0.204612265
## [69,] 1.22100316 1.616827281 0.480693656 0.225145511
## [70,] 0.16436725 1.298259939 0.172260719 -0.051554138
## [71,] 0.73521959 -0.395247446 -0.614467782 -0.083006045
## [72,] 0.47469691 0.415926887 0.264067576 0.113189079
## [73,] 1.23005729 0.930209441 0.367182178 -0.009911322
## [74,] 0.63074514 0.414997441 0.290921638 -0.273304557
## [75,] 0.70031506 0.063200094 0.444537765 0.043313222
## [76,] 0.87135454 -0.249956017 0.471001057 0.101376117
## [77,] 1.25231375 0.076998069 0.724727099 0.039556002
## [78,] 1.35386953 -0.330205463 0.259955701 0.066604931
## [79,] 0.66258066 0.225173502 -0.085577197 -0.036318171
## [80,] -0.04012419 1.055183583 0.318506304 0.064571834
## [81,] 0.13035846 1.557055553 0.149482697 -0.009371129
## [82,] 0.02337438 1.567225244 0.240745761 -0.032663020
## [83,] 0.24073180 0.774661195 0.150707074 0.023572390
## [84,] 1.05755171 0.631726901 -0.104959762 -0.183354200
## [85,] 0.22323093 0.286812663 -0.663028512 -0.253977520
## [86,] 0.42770626 -0.842758920 -0.449129446 -0.109308985
## [87,] 1.04522645 -0.520308714 0.394464890 0.037084781
## [88,] 1.04104379 1.378371048 0.685997804 0.136378719
## [89,] 0.06935597 0.218770433 -0.290605718 -0.146653279
## [90,] 0.28253073 1.324886147 -0.089111491 0.008876070
## [91,] 0.27814596 1.116288852 -0.094172116 -0.269753497
## [92,] 0.62248441 -0.024839814 0.020412763 -0.147193289
## [93,] 0.33540673 0.985103828 0.198724011 0.006508757
## [94,] -0.36097409 2.012495825 -0.105467721 0.019505467
## [95,] 0.28762268 0.852873116 -0.130452657 -0.107043742
## [96,] 0.09105561 0.180587142 -0.128547696 -0.229191812
## [97,] 0.22695654 0.383634868 -0.155691572 -0.132163118
## [98,] 0.57446378 0.154356489 0.270743347 -0.019794366
## [99,] -0.44617230 1.538637456 -0.189765199 0.199278855
## [100,] 0.25587339 0.596852285 -0.091572385 -0.058426315
## [101,] 1.83841002 -0.867515056 -1.002044077 -0.049085303
## [102,] 1.15401555 0.696536401 -0.528389994 -0.040385459
## [103,] 2.19790361 -0.560133976 0.202236658 0.058986583
## [104,] 1.43534213 0.046830701 -0.163083761 -0.234982858
## [105,] 1.86157577 -0.294059697 -0.394307408 -0.016243853
## [106,] 2.74268509 -0.797736709 0.580364827 -0.101045973
## [107,] 0.36579225 1.556289178 -0.983598122 -0.132679346
## [108,] 2.29475181 -0.418663020 0.649530452 -0.237246445
## [109,] 1.99998633 0.709063226 0.392675073 -0.086221779
## [110,] 2.25223216 -1.914596301 -0.396224508 0.104488870
## [111,] 1.35962064 -0.690443405 -0.283661780 0.107500284
## [112,] 1.59732747 0.420292431 -0.023108991 0.058136869
## [113,] 1.87761053 -0.417849815 -0.026250468 0.145926073
## [114,] 1.25590769 1.158379741 -0.578311891 0.098826244
## [115,] 1.46274487 0.440794883 -1.000517746 0.274738504
## [116,] 1.58476820 -0.673986887 -0.636297054 0.191222383
## [117,] 1.46651849 -0.254768327 -0.037306280 -0.154811637
## [118,] 2.41822770 -2.548124795 0.127454475 -0.272892966
## [119,] 3.29964148 -0.017721580 0.700957033 0.045037725
## [120,] 1.25954707 1.701046715 0.266643612 -0.064963167
## [121,] 2.03091256 -0.907427443 -0.234015510 0.167390481
## [122,] 0.97471535 0.569855257 -0.825362161 0.027662914
## [123,] 2.88797650 -0.412259950 0.854558973 -0.126911337
## [124,] 1.32878064 0.480202496 0.005410239 0.139491837
## [125,] 1.69505530 -1.010536476 -0.297454114 -0.061437911
## [126,] 1.94780139 -1.004412720 0.418582432 -0.217609339
## [127,] 1.17118007 0.315338060 -0.129503907 0.125001677
## [128,] 1.01754169 -0.064131184 -0.336588365 -0.008625505
## [129,] 1.78237879 0.186735633 -0.269754304 0.030983849
## [130,] 1.85742501 -0.560413289 0.713244682 -0.207519953
## [131,] 2.42782030 -0.258418706 0.725386035 -0.017863520
## [132,] 2.29723178 -2.617554417 0.491826144 -0.210968943
## [133,] 1.85648383 0.177953334 -0.352966242 0.099675959
## [134,] 1.11042770 0.291944582 0.182875741 -0.185721512
## [135,] 1.19845835 0.808606364 0.164173760 -0.487849130
## [136,] 2.78942561 -0.853942542 0.541093785 0.294893130
## [137,] 1.57099294 -1.065013214 -0.942695700 0.035486875
## [138,] 1.34179696 -0.421020154 -0.180271551 -0.214702016
## [139,] 0.92173701 -0.017165594 -0.415434449 0.005220919
## [140,] 1.84586124 -0.673870645 0.012629804 0.194543500
## [141,] 2.00808316 -0.611835930 -0.426902678 0.246711805
## [142,] 1.89543421 -0.687273065 -0.129640697 0.468128374
## [143,] 1.15401555 0.696536401 -0.528389994 -0.040385459
## [144,] 2.03374499 -0.864624030 -0.337014969 0.045036251
## [145,] 1.99147547 -1.045665670 -0.630301866 0.213330527
## [146,] 1.86425786 -0.385674038 -0.255418178 0.387957152
## [147,] 1.55935649 0.893692855 0.026283300 0.219456899
## [148,] 1.51609145 -0.268170747 -0.179576781 0.118773236
## [149,] 1.36820418 -1.007877934 -0.930278721 0.026041407
## [150,] 0.95744849 0.024250427 -0.526485033 -0.162533529
iris2 <- cbind(iris, myPr$x) # Gộp dữ liệu cũ với dữ liệu toạ độ mới
head(iris2)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species PC1
## 1 5.1 3.5 1.4 0.2 setosa -2.257141
## 2 4.9 3.0 1.4 0.2 setosa -2.074013
## 3 4.7 3.2 1.3 0.2 setosa -2.356335
## 4 4.6 3.1 1.5 0.2 setosa -2.291707
## 5 5.0 3.6 1.4 0.2 setosa -2.381863
## 6 5.4 3.9 1.7 0.4 setosa -2.068701
## PC2 PC3 PC4
## 1 -0.4784238 0.12727962 0.024087508
## 2 0.6718827 0.23382552 0.102662845
## 3 0.3407664 -0.04405390 0.028282305
## 4 0.5953999 -0.09098530 -0.065735340
## 5 -0.6446757 -0.01568565 -0.035802870
## 6 -1.4842053 -0.02687825 0.006586116
library(ggplot2) # install.packages("ggplot2")
ggplot(iris2, aes(PC1, PC2, col = Species, fill = Species)) +
stat_ellipse(geom = "polygon", col = "black", alpha = 0.5) +
geom_point(shape = 21, col = "black") # Biểu diễn bằng điểm
percentVar <- round(100 * summary(myPr)$importance[2, 1:2], 0) # Tính % các phương sai
ggplot(iris2, aes(PC1, PC2, color = Species, shape = Species)) + # Vẽ biểu đồ bằng ggplot2
geom_point(size = 2) +
xlab(paste0("PC1: ", percentVar[1], "% variance")) + # x label
ylab(paste0("PC2: ", percentVar[2], "% variance")) + # y label
ggtitle("Principal component analysis (PCA)") + # Tiêu đề
theme(aspect.ratio = 1)
df <- read.delim("~/Desktop/ngoc_122423/dat1(leaf).txt")
attach(df)
head(df)
## len wid rat cir pet species
## 1 17.42 6.58 2.65 0.67 2.24 L_cad
## 2 17.77 6.88 2.58 0.65 2.15 L_cad
## 3 20.65 7.73 2.67 0.67 2.15 L_cad
## 4 21.57 7.26 2.97 0.63 2.15 L_cad
## 5 25.07 8.34 3.01 0.61 2.40 L_cad
## 6 21.14 8.11 2.61 0.62 2.34 L_cad
myPr <- (prcomp(df[,-6]))
myPr <- prcomp(df[,-6], scale = TRUE)
plot(scale(df$rat), scale(df$cir))
myPr
## Standard deviations (1, .., p=5):
## [1] 1.7937375 1.2490815 0.3953751 0.2167730 0.1378013
##
## Rotation (n x k) = (5 x 5):
## PC1 PC2 PC3 PC4 PC5
## len -0.3637746 -0.5891549 -0.40698235 0.03691426 0.59461519
## wid -0.5323621 -0.1972872 -0.32059196 0.12274502 -0.74821307
## rat 0.4078115 -0.5265585 0.24848647 0.68825093 -0.14488319
## cir -0.4052330 0.5356167 0.01951834 0.69609396 0.25292928
## pet -0.5037208 -0.2232155 0.81820515 -0.15916928 0.04056629
summary(myPr)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5
## Standard deviation 1.7937 1.2491 0.39538 0.2168 0.1378
## Proportion of Variance 0.6435 0.3120 0.03126 0.0094 0.0038
## Cumulative Proportion 0.6435 0.9555 0.98680 0.9962 1.0000
plot(myPr, type = "l")
biplot(myPr, scale = 0)
str(myPr)
## List of 5
## $ sdev : num [1:5] 1.794 1.249 0.395 0.217 0.138
## $ rotation: num [1:5, 1:5] -0.364 -0.532 0.408 -0.405 -0.504 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:5] "len" "wid" "rat" "cir" ...
## .. ..$ : chr [1:5] "PC1" "PC2" "PC3" "PC4" ...
## $ center : Named num [1:5] 14.861 4.906 3.292 0.586 1.329
## ..- attr(*, "names")= chr [1:5] "len" "wid" "rat" "cir" ...
## $ scale : Named num [1:5] 5.043 2.071 1.094 0.127 0.658
## ..- attr(*, "names")= chr [1:5] "len" "wid" "rat" "cir" ...
## $ x : num [1:138, 1:5] -1.82 -1.82 -2.27 -1.98 -2.62 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:5] "PC1" "PC2" "PC3" "PC4" ...
## - attr(*, "class")= chr "prcomp"
myPr$x
## PC1 PC2 PC3 PC4 PC5
## [1,] -1.822375424 -0.10200054 0.535377932 -0.042439833 0.0065351285
## [2,] -1.817919438 -0.19182812 0.329730009 -0.154251812 -0.0968247501
## [3,] -2.274683177 -0.56803577 -0.010807002 0.083740076 -0.0363473093
## [4,] -1.980438707 -0.94424393 0.049665522 0.031446404 0.1223832878
## [5,] -2.623206094 -1.64475755 -0.083005207 -0.024176845 0.1150199961
## [6,] -2.415650436 -0.90855772 0.105866201 -0.248660884 -0.1960686059
## [7,] -2.537075115 -1.34140140 -0.177274752 -0.222831399 -0.1475469273
## [8,] -3.082923541 -0.74822448 0.383546187 0.015638561 -0.1683940870
## [9,] -2.411216996 -0.84243731 0.518035207 -0.326065790 -0.1477641439
## [10,] -2.324553265 -0.85383640 0.495273904 -0.194456155 -0.0330691848
## [11,] -2.398257608 -0.47307096 0.654751254 -0.170159371 -0.1001891653
## [12,] -2.433604483 -0.36722043 -0.319209960 0.222420932 -0.1376201617
## [13,] -2.620138333 -0.04794171 -0.200492447 0.161808905 -0.3306347285
## [14,] -1.860879250 0.67036847 -0.390239717 0.170364997 -0.3320612503
## [15,] -3.642793916 -2.05660684 1.008963116 -0.137100198 0.2044589718
## [16,] -1.961733624 -0.72786853 -0.622184295 0.080921315 -0.0780149189
## [17,] -1.985289421 -0.85486318 -0.464109560 0.122170169 0.0274550010
## [18,] -3.180121855 -1.88135063 0.168296858 0.032780228 0.1719419896
## [19,] -3.659938260 -1.32668413 -0.179459042 0.243716520 -0.1399827620
## [20,] -2.244666558 -1.92952785 0.126172585 0.261048161 0.5234275325
## [21,] -2.522961515 -1.11919593 0.174462003 -0.189409096 -0.0903012343
## [22,] -2.643014003 -1.04237749 0.049808749 -0.083515970 -0.1028180043
## [23,] -2.928056402 -1.23068349 0.149138516 -0.015603317 -0.0431472206
## [24,] -2.568954440 -1.01052375 0.577418482 -0.214660212 -0.0435640603
## [25,] -2.349902694 -0.87822690 0.335024966 0.093908451 0.1331875434
## [26,] -2.251947982 -0.74633569 0.472973150 -0.221163339 -0.0691707184
## [27,] -2.353383936 -0.43799617 -0.475957919 0.216204419 -0.1421675302
## [28,] -2.663681584 0.03781409 -0.043787948 -0.002141787 -0.4550351100
## [29,] -1.810984943 0.45164419 -0.595916170 0.234893071 -0.2628147027
## [30,] -3.699813986 -1.87259317 1.055470184 -0.077424844 0.1799167447
## [31,] -1.916737555 -0.99580814 -0.670059408 -0.026650890 -0.0752438160
## [32,] -1.935427856 -0.78738046 -0.585650970 0.206801562 0.0530555916
## [33,] -2.629090625 -2.32422376 0.144592941 0.650477599 -0.0176764237
## [34,] -3.734549427 -1.23869951 -0.127884991 0.344456179 -0.1027576899
## [35,] 1.039264444 1.76057553 0.489210049 -0.074504888 0.1145428223
## [36,] 0.424273891 1.93798657 0.105924316 0.024099440 0.0725244668
## [37,] 0.117243825 0.98494418 0.300635840 -0.003610894 0.0992804368
## [38,] -0.596244419 1.02694801 -0.236481732 0.170726047 -0.0103561130
## [39,] 0.475238641 0.39024511 0.169266307 -0.122119594 0.0834037958
## [40,] 0.574508666 0.23494279 0.124209268 -0.166352919 0.0722261278
## [41,] 0.230232780 -0.20376728 0.364403388 -0.172288858 0.1353216146
## [42,] 0.550902039 0.75529448 -0.030176811 -0.307130117 -0.0438559785
## [43,] 0.885496899 0.68803801 -0.100006204 -0.290023224 -0.0313609346
## [44,] 0.519883408 0.30090234 -0.100458325 -0.417519218 -0.0707057668
## [45,] 1.030846585 -0.69829160 0.618936020 -0.232092985 0.1129566199
## [46,] 1.115813949 -0.77813202 0.278456671 -0.021333881 0.1765572726
## [47,] 0.585328935 0.70692549 0.110624785 -0.071140680 0.0777047438
## [48,] 0.210354802 0.41666746 -0.046499401 -0.157349945 0.0288299468
## [49,] -0.209501938 -0.49459802 -0.057901103 -0.277269329 0.0560273629
## [50,] 0.321252551 -0.09645682 0.077339152 -0.080342531 0.1351644598
## [51,] 0.297323243 -1.38542934 0.020377803 0.032597697 0.3348961722
## [52,] 0.786437415 1.06744494 0.398378143 -0.326050582 0.0036396002
## [53,] 0.286321751 1.01466982 0.169075056 -0.127153147 0.0330647681
## [54,] 0.673650696 0.14096601 0.142615718 -0.154908779 0.0850048806
## [55,] 0.245862765 -0.17252966 0.415563844 -0.088676224 0.1723088405
## [56,] 0.221583900 0.69240101 0.083714542 -0.528779731 -0.1492268190
## [57,] 0.924079664 0.39776006 -0.082781651 -0.081645248 0.0703507932
## [58,] 0.428194265 0.38525610 -0.114323605 -0.416385347 -0.0861323071
## [59,] 0.935240853 -0.45515441 0.624993975 -0.345894654 0.0697866667
## [60,] 1.362646291 -1.01720315 0.437813083 0.172241244 0.2210941205
## [61,] 0.649033044 0.52709131 0.235071616 0.171497370 0.1953775514
## [62,] 0.234842591 0.38453731 -0.069668081 -0.220688327 0.0000503966
## [63,] -0.274532247 -0.28993369 -0.071238929 -0.239860447 0.0408188743
## [64,] 0.478221000 -0.18354255 0.046655926 -0.140357248 0.1142929398
## [65,] 0.382830190 -1.20396608 0.200610293 0.154465847 0.3626237473
## [66,] 0.657145493 0.94998381 0.276737658 -0.601196725 -0.1246102688
## [67,] 0.385809115 1.13310638 0.275587548 -0.261998720 -0.0076120911
## [68,] -0.226761154 1.45640555 -0.246254379 0.166111137 -0.0022158487
## [69,] -0.723443646 1.67057411 -0.465137304 0.507125127 0.0119584741
## [70,] -0.408141512 1.50955731 -0.034161314 0.129861595 -0.0098199954
## [71,] -0.689698367 1.49131795 -0.257014139 0.048383272 -0.1808580727
## [72,] 0.073874589 2.10062221 -0.166544224 0.269045742 0.0744089979
## [73,] 0.352422032 2.07651583 -0.088964107 0.209875588 0.1042789651
## [74,] -0.390046058 1.56484731 -0.105871178 0.205258239 0.0122759482
## [75,] 0.035307784 1.81536942 0.057189889 0.123408413 0.0637626708
## [76,] -0.387465151 1.56346268 -0.303170196 0.226474069 -0.0238201552
## [77,] -0.532852388 1.47935170 -0.049031883 0.097025679 -0.0541454390
## [78,] 0.159464179 2.00489071 0.208522854 -0.053792837 0.0251861740
## [79,] -0.388910183 1.45623136 -0.045997100 0.077193376 -0.0323760855
## [80,] -0.129977156 1.82924474 0.126412968 0.228011630 0.1006567835
## [81,] -0.989948838 1.14814842 0.005549901 0.191361068 -0.0367912725
## [82,] -0.579394362 2.03012357 0.342748062 0.170614395 0.0329673441
## [83,] -0.001743478 1.79754650 0.106419909 -0.078463802 -0.0303907307
## [84,] -0.281680264 1.67607025 -0.268720366 0.198692458 -0.0189996805
## [85,] 0.360245696 2.00298475 0.073010719 -0.045426128 0.0261806730
## [86,] 0.412406447 2.59597279 0.333096311 0.144249515 0.1848649969
## [87,] -0.338451688 1.47241750 -0.100481488 0.093732169 -0.0271225586
## [88,] -0.118226834 1.82642421 0.153736745 0.135376009 0.0661354449
## [89,] -0.468758876 1.50749314 -0.020727468 0.102406852 -0.0280451639
## [90,] -0.467044512 1.47721709 -0.201974276 0.047261209 -0.1075864269
## [91,] 0.018329484 2.08691594 0.232112929 0.021146973 0.0416138647
## [92,] -0.383982021 1.45929002 -0.008708060 0.168559132 0.0268712659
## [93,] -0.135474024 1.74550872 0.131397448 0.085535300 0.0365889496
## [94,] -0.942790400 1.17638355 -0.034080184 0.290959549 0.0200789275
## [95,] -0.551162340 2.01218654 0.252819885 0.108675278 -0.0185686405
## [96,] -0.125997063 1.87804342 0.104976423 0.007825208 -0.0129830126
## [97,] -0.327491706 1.59430710 0.017981735 0.012645070 -0.0536624760
## [98,] 0.215505588 2.16301510 0.102443536 0.169716136 0.1096514404
## [99,] 0.543477553 2.56288670 0.291663419 0.135105571 0.1811325978
## [100,] 2.850344395 -2.29949143 0.014214723 0.393798397 0.0606502951
## [101,] 2.748041858 -1.63399253 0.097210614 0.087060835 -0.0504610312
## [102,] 2.053581352 -1.28444053 0.234245537 -0.159567913 0.0134785683
## [103,] 2.786847913 -0.80345487 -0.120109527 -0.146209215 -0.1518490960
## [104,] 2.323796514 -0.82661754 -0.073376918 0.003555699 -0.0118324197
## [105,] 2.563500648 -1.43515501 0.177359448 0.044617465 -0.0322564550
## [106,] 2.005809623 -1.29155350 -0.173558588 0.027348153 0.0933697124
## [107,] 3.786651899 -1.83049695 0.736037433 0.476732251 -0.3406645328
## [108,] 3.139180325 -0.75455854 0.242282402 0.140054223 -0.1945445946
## [109,] 2.964619184 -0.94041068 0.345304049 0.056072029 -0.1696258107
## [110,] 1.860736624 -1.17956524 -0.132410895 0.071161929 0.1243442544
## [111,] 3.144651831 -1.00680514 0.376939194 0.216154671 -0.1835936667
## [112,] 2.721771752 -0.66997462 0.056433144 -0.176524777 -0.1568110434
## [113,] 3.681861773 -1.65064534 0.629041774 0.596344573 -0.2738800526
## [114,] 3.111202455 -1.18087727 0.344194616 0.211430592 -0.1651889314
## [115,] 2.405317518 -0.48906648 0.148847999 -0.078956447 -0.0739472528
## [116,] 3.268707115 -1.82084035 0.309480700 0.544906497 -0.0970242863
## [117,] 2.487694878 -0.89140714 0.130767868 0.351483042 0.0389797191
## [118,] 2.722031245 -1.06526352 0.221330703 0.199682531 -0.0552494610
## [119,] 2.999985165 -0.77370551 0.153686294 -0.038296026 -0.1914877167
## [120,] 2.604195196 -0.91014667 -0.010193636 -0.080875115 -0.0946847905
## [121,] 2.167845019 -0.98414982 0.011481287 -0.291086528 -0.0602179448
## [122,] 0.872487816 -0.23445879 -0.687731817 -0.121897663 0.0480555760
## [123,] 1.660589168 0.42673885 -0.186726168 -0.214062328 -0.0305598442
## [124,] 2.275185809 0.08337148 -0.343770746 -0.271164116 -0.1160617705
## [125,] 2.013806203 0.14917735 -0.313742052 -0.240536474 -0.0740513086
## [126,] 1.583729990 0.84216084 -0.336227404 -0.196833371 -0.0391827448
## [127,] 1.577171789 -0.80816570 -0.674152882 -0.116492637 0.0661012776
## [128,] 1.463224420 -0.54752505 -0.558956574 0.097515052 0.1384316789
## [129,] 1.583075205 -1.28636528 -0.655098371 -0.024389191 0.1465249554
## [130,] 1.495272354 -1.05953261 -0.472455343 -0.025635329 0.1391462907
## [131,] 0.881011279 -1.43238747 -1.097215228 -0.066975342 0.2002120401
## [132,] 0.162285926 -0.79453506 -1.003053285 0.092803272 0.1852243619
## [133,] 0.432620549 -0.92340179 -0.577647518 -0.068628668 0.1789277034
## [134,] 0.366735661 -0.12615401 -0.204306176 -0.264935932 0.0202913640
## [135,] 0.476122098 -0.17823765 -0.784656162 -0.326030662 -0.0743311148
## [136,] -0.285074294 -1.12332574 -1.274869623 -0.217515567 0.0096429916
## [137,] -0.259927056 -1.18861038 -1.115633784 -0.105029255 0.1160436120
## [138,] 0.058104832 -0.89046340 -1.021403692 -0.194070861 0.0446974844
df1 <- cbind(df, myPr$x[,1:2])
head(df1)
## len wid rat cir pet species PC1 PC2
## 1 17.42 6.58 2.65 0.67 2.24 L_cad -1.822375 -0.1020005
## 2 17.77 6.88 2.58 0.65 2.15 L_cad -1.817919 -0.1918281
## 3 20.65 7.73 2.67 0.67 2.15 L_cad -2.274683 -0.5680358
## 4 21.57 7.26 2.97 0.63 2.15 L_cad -1.980439 -0.9442439
## 5 25.07 8.34 3.01 0.61 2.40 L_cad -2.623206 -1.6447576
## 6 21.14 8.11 2.61 0.62 2.34 L_cad -2.415650 -0.9085577
ggplot(df1, aes(PC1, PC2, col = species, fill = species)) +
stat_ellipse(geom = "polygon", col= "black", alpha = 0.5) +
geom_point(shape = 21, col = "black")
Tài liệu tham khảo