Задание №2 Выполните классификацию k-ближайших соседей с использованием функции knn() из пакета class на наборе данных iris. Проведите нормализацию данных, разделите выборку на обучающую и тестовую. Оцените построенную модель с использованием функции CrossTable() из пакета gmodels. Постройте матрицу ошибок и диагональную оценку качества прогноза (diagonal mark quality prediction).

str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
table(iris$Species)
## 
##     setosa versicolor  virginica 
##         50         50         50
round(prop.table(table(iris$Species)) * 100, digits = 1)
## 
##     setosa versicolor  virginica 
##       33.3       33.3       33.3
plot(iris$Sepal.Length, iris$Sepal.Width, col = iris$Species, pch = 19)
legend("topright", legend = levels(iris$Species), bty = "n", pch = 19, col = palette())

normMinMax = function(x) {
  return ((x - min(x)) / max(x) - min(x))
}

iris_norm <- as.data.frame(lapply(iris[1:4], normMinMax))
set.seed(2343)
indexes = sample(2, nrow(iris), replace = TRUE, prob = c (0.7, 0.3))

iris_train = iris[indexes == 1, 1 : 4]
iris_test = iris[indexes == 2, 1 : 4]

iris_train_labes = iris[indexes == 1, 5]
iris_test_labes = iris[indexes == 2, 5]
library(class)

iris_mdl = knn(train = iris_train , test = iris_test, cl = iris_train_labes, k = 5)
library(gmodels)

CrossTable(x = iris_test_labes, y = iris_mdl, prop.chisq = FALSE)
## 
##  
##    Cell Contents
## |-------------------------|
## |                       N |
## |           N / Row Total |
## |           N / Col Total |
## |         N / Table Total |
## |-------------------------|
## 
##  
## Total Observations in Table:  47 
## 
##  
##                 | iris_mdl 
## iris_test_labes |     setosa | versicolor |  virginica |  Row Total | 
## ----------------|------------|------------|------------|------------|
##          setosa |         13 |          0 |          0 |         13 | 
##                 |      1.000 |      0.000 |      0.000 |      0.277 | 
##                 |      1.000 |      0.000 |      0.000 |            | 
##                 |      0.277 |      0.000 |      0.000 |            | 
## ----------------|------------|------------|------------|------------|
##      versicolor |          0 |         19 |          2 |         21 | 
##                 |      0.000 |      0.905 |      0.095 |      0.447 | 
##                 |      0.000 |      1.000 |      0.133 |            | 
##                 |      0.000 |      0.404 |      0.043 |            | 
## ----------------|------------|------------|------------|------------|
##       virginica |          0 |          0 |         13 |         13 | 
##                 |      0.000 |      0.000 |      1.000 |      0.277 | 
##                 |      0.000 |      0.000 |      0.867 |            | 
##                 |      0.000 |      0.000 |      0.277 |            | 
## ----------------|------------|------------|------------|------------|
##    Column Total |         13 |         19 |         15 |         47 | 
##                 |      0.277 |      0.404 |      0.319 |            | 
## ----------------|------------|------------|------------|------------|
## 
## 
CM = table(iris_test_labes, iris_mdl)
accyrancy = (sum(diag(CM))) / sum(CM)
accyrancy
## [1] 0.9574468

Задание №3 Рассмотрите пример реализации метода опорных векторов с использованием функции svm() из пакета e1071. Постройте линейный классификатор для прогнозирования. Для подбора параметров модели выполните перекрестную проверку с делением исходной выборки на 10 равных частей (cross=10).

library(e1071)
DGlass <- read.table(file = "Glass.txt", sep = ",",
                     header = TRUE, row.names = 1)
DGlass$FAC <- as.factor(ifelse(DGlass$Class == 2, "C2", "C1"))
svm.all <-  svm(formula = FAC ~ ., data = DGlass[, -10], 
                cross = 10, kernel = "linear")  
(table(Факт = DGlass$FAC, Прогноз = predict(svm.all)))
##     Прогноз
## Факт C1 C2
##   C1 72 15
##   C2 27 49

Задание №4 Выполните расчет главных компонент с использованием пакета vegan() и его функции rda(). Постройте ординационную диаграмму методом PCA и сделайте выводы.

library(vegan)
## Загрузка требуемого пакета: permute
## Загрузка требуемого пакета: lattice
Y <- as.data.frame(DGlass[, 1:9])
mod.pca <- vegan::rda(Y ~ 1)
head(summary(mod.pca))
## $species
##             PC1          PC2          PC3           PC4           PC5
## RI -0.006662539 -0.003040355  0.001586969  0.0007296664 -0.0005397547
## Na  0.461583290 -1.180083688 -0.833131056 -0.0499341285 -0.0109643803
## Mg  2.037590821 -0.659745827  0.616210990  0.5223737135  0.0598690958
## Al  0.240546322  0.337483184  0.107770231 -0.6588300072  0.2282742153
## Si  0.691702293  1.339221661 -0.458279315  0.4986448606 -0.0521649049
## K   0.265987553  0.302647227  0.111021428 -0.2512088535  0.1346812600
## Ca -3.512042800 -0.228783464  0.158560576  0.3491594118  0.0734353397
## Ba -0.190199141  0.009843581  0.267020533 -0.3372595263 -0.4523323751
## Fe -0.039086013  0.017136824  0.046525694 -0.0299297118 -0.0074709080
##              PC6
## RI  9.075018e-05
## Na  2.781882e-03
## Mg  4.079559e-02
## Al  1.616118e-01
## Si  4.062191e-02
## K  -2.370455e-01
## Ca  2.514733e-02
## Ba  1.707650e-02
## Fe -8.279180e-02
## 
## $sites
##               PC1          PC2          PC3          PC4           PC5
## 1    0.1468069084 -0.653541239  0.452475678  0.298696163  0.0429202249
## 2    0.2831309101 -0.140664243 -0.445785783 -0.179718312 -0.1566509463
## 3    0.2892865622  0.078679348 -0.338105691 -0.173305452 -0.1124001991
## 4    0.1922588059 -0.012619909  0.081285137 -0.035956943 -0.0035938069
## 5    0.2337498608  0.146211192 -0.160402324  0.107470092 -0.1936305181
## 6    0.2214788642  0.297171037  0.200230053 -0.144454654  0.1806841010
## 7    0.2114214132  0.131683269 -0.184215919  0.176088668 -0.2406836510
## 8    0.1990103196  0.214651212 -0.139648131  0.314241249 -0.3185711645
## 9    0.1650441902 -0.427873137 -0.271529210 -0.342420730  0.1176032168
## 10   0.1555260103  0.193696549  0.071725117  0.096341595  0.0154746710
## 11   0.2067897960  0.419219815  0.100391613 -0.081322827  0.0821635152
## 12   0.1251107757  0.235822371  0.219846405  0.225318744  0.0182957948
## 13   0.2169012874  0.393269554 -0.048794805  0.000295092 -0.0730059676
## 14   0.1580811499  0.310301481  0.055910689  0.218664874 -0.1199783220
## 15   0.1353949191  0.407631856  0.205212270  0.281183917 -0.0329115895
## 16   0.1540141204  0.337567330  0.062587665  0.244022596 -0.1337666524
## 17   0.0973588777  0.288097682  0.270873577  0.368371719 -0.0402427227
## 18  -0.0084985657 -0.943530673 -0.081490775  0.040856516 -0.0643034830
## 19   0.0507622019 -0.487314375 -0.123418022  0.104478695 -0.0880174627
## 20   0.1347475999  0.131896314  0.144416053 -0.187266986  0.3094050168
## 21   0.1121536979  0.176349345  0.258421858 -0.043125735  0.1736372070
## 22   0.0371993600 -0.876115754 -0.655613500  0.541331801 -0.7933986409
## 23   0.0828806636  0.165469159  0.302383045  0.152663615  0.0978158413
## 24   0.1105440087  0.258287772  0.182321719  0.153934251  0.0780709756
## 25   0.1384949024  0.020804751 -0.173453042  0.119147045 -0.1839849297
## 26   0.1214141213  0.198475579  0.059863943  0.177482673 -0.0437899805
## 27   0.1282319035  0.033062238  0.013948519 -0.119837624  0.1058145051
## 28   0.1335665191  0.265261235  0.076519572  0.100144181 -0.0317380046
## 29   0.1136684888  0.393716890  0.262696671  0.148833691  0.0809385719
## 30   0.1209217179  0.132780830  0.021244688  0.059455528 -0.0105848948
## 31   0.0860923541  0.318959822  0.264456214  0.232539292  0.0486447828
## 32   0.1173561100  0.326775678  0.027077630  0.333668756 -0.1887918185
## 33   0.1018155291  0.235916195  0.146484028  0.122302614 -0.1887852727
## 34   0.1152386236  0.479690959  0.158309095  0.244369051  0.0017351991
## 35   0.0677299654  0.261520928  0.276399595  0.178128814  0.0986615251
## 36   0.0992427433  0.020357085 -0.081085111  0.053793840 -0.0591604659
## 37   0.0445475273 -0.503223397 -0.049374842 -0.324342787  0.0481309442
## 38   0.0777972203  0.270425779  0.215632882  0.116536371  0.1053154685
## 39  -0.0911489202 -0.815696281 -0.127366912  0.541494486 -0.3850218041
## 40  -0.0911489202 -0.815696281 -0.127366912  0.541494486 -0.3850218041
## 41   0.0628550083  0.250664738  0.164488786  0.296075023 -0.0652167710
## 42   0.0847741659  0.358011478  0.108958885  0.265414624 -0.1028794773
## 43   0.0889361869  0.073396239 -0.052679173 -0.023318049  0.0424783149
## 44  -0.1320087376 -0.660142043  0.212061216  0.469147038 -0.0899142637
## 45   0.0518570871  0.259647466  0.208012154  0.195078628 -0.0270264747
## 46  -0.0087008965 -0.332245507  0.129428544 -0.206856873  0.3000674472
## 47   0.0331129528  0.041017568 -0.017281014  0.098698813 -0.0251734415
## 48  -0.1679795205 -0.797858063  0.058336801  0.380379987 -0.1550658628
## 49  -0.2012390701 -0.424214928  0.448260907  0.600958241 -0.0178371267
## 50   0.0007798487 -0.294649776 -0.039391801 -0.182997964  0.1460324451
## 51  -0.2160691935 -0.682818889  0.187630306  0.626750130 -0.2397490219
## 52  -0.0464904729 -0.086955266  0.119904680 -0.032163456  0.2059904958
## 53  -0.0547599768  0.081275387 -0.401189728 -0.012833558 -0.1066234071
## 54  -0.0724550129  0.183509959 -0.234393357 -0.045854939 -0.0217208352
## 55  -0.0594846771  0.213290683 -0.336417984 -0.022825185 -0.0802899212
## 56  -0.0704152793  0.712214615 -0.151213861  0.248817624 -0.1732766147
## 57   0.1467028048  0.202252807  0.010477210  0.135869332 -0.1950615185
## 58   0.1300354942  0.233833704  0.105940117  0.077426712 -0.0284227734
## 59   0.2575892383  0.030250016 -0.209615029  0.130864701 -0.2074164743
## 60   0.1889440314 -0.011296287 -0.095530111  0.079445687 -0.1191626223
## 61   0.0771736129 -0.190036349 -0.177047669  0.261463979 -0.2455653969
## 62   0.0546356427 -0.540925543  0.116182936 -0.444249880 -1.0483509116
## 63  -0.0909277251 -0.555389419  0.339461186  0.344146086  0.0186930656
## 64  -0.1318249929 -0.935501701  0.057406853  0.265312521 -0.0833017409
## 65  -0.1116236428 -0.456380009  0.237121094  0.402614314 -0.0338338755
## 66  -0.0812986227 -0.487816573  0.047050790  0.158255644  0.0168285883
## 67  -0.1743516639 -0.253329144  0.412842088  0.543528050 -0.0347130395
## 68  -0.1703635491 -0.218809640  0.380256628  0.583174469 -0.0529062515
## 69  -0.1743831753 -0.262166520  0.348964830  0.471952120 -0.0131173260
## 70  -0.2510780325 -0.429206255  0.325187669  0.545285995 -0.0045122504
## 71   0.3781360002 -0.708146013 -0.754661017 -0.798588039  0.0060586950
## 72   0.1772181137 -0.406966501  0.135190954 -0.199355835  0.1230611060
## 73   0.2805550213  0.260840639 -0.069564915 -0.127180437  0.0211696516
## 74   0.2633096930  0.104933206 -0.145618587 -0.234149711  0.0762680041
## 75   0.2624362045  0.292198838 -0.031129107 -0.133926906  0.0730997951
## 76   0.2521589674  0.283761534 -0.023527232 -0.083292338  0.0528478738
## 77   0.2235290531 -0.104945397 -0.013488947 -0.367215739  0.2035812710
## 78   0.2230508516  0.181389432  0.087821841 -0.175000023  0.1131681273
## 79   0.2547114321 -0.108422967 -0.547568839 -0.047870146 -0.3165085489
## 80   0.2328024010  0.298385293  0.184396422 -0.404868040  0.4083246792
## 81   0.2289418893  0.236316806  0.242730159 -0.600990378  0.6183316208
## 82   0.2629144359  0.245865086 -0.256748747 -0.096470048 -0.1190681738
## 83   0.2145421467  0.031570513 -0.171616779 -0.057082268 -0.0877684004
## 84   0.2189770586  0.184163347  0.005580170 -0.206219716  0.1309796300
## 85   0.3862146477 -0.163548518 -0.716312956 -1.293436218  0.4773277708
## 86   0.1906738475  0.007058613 -0.086889850 -0.127561553  0.0479921518
## 87   0.2331419358  0.245232740 -0.255292394  0.024436390 -0.1575380678
## 88   0.2082619853  0.013912415 -0.118891486 -0.292406596  0.1317269781
## 89   0.1991265795  0.201946728  0.030926842 -0.129200022  0.0531896886
## 90   0.2118602440  0.501657272  0.214593532 -0.207975587  0.3167419709
## 91   0.0257571319 -0.102732249  0.459034679  0.145597298  0.1509585391
## 92   0.1626864951  0.280355786  0.016387238  0.006959652 -0.0466820542
## 93   0.1443947527  0.263785592 -0.191685572  0.099653631 -0.1422598947
## 94   0.1712174702  0.208537183 -0.249925963 -0.046583974 -0.1082097151
## 95   0.1636376757  0.455988880  0.026896075 -0.019180777  0.0297871961
## 96   0.0758216221 -0.149762087  0.041391780 -0.244519527  0.1806562868
## 97  -0.0185118238 -0.103673493  0.346609494  0.191023153  0.1171015620
## 98   0.0119046655  0.647457333  0.259098224  0.435247386 -0.1399667196
## 99   0.0501387526  0.526643358 -0.068347845 -0.276185737  0.2302581922
## 100 -0.0023462844  0.275834782 -0.087541371 -0.164948853 -0.1521819250
## 101 -0.0073871017  0.478662494 -0.125406934 -0.059973342 -0.1953284259
## 102 -0.1320233103  0.483832555  0.231197604 -0.225282252  0.3698800655
## 103 -0.1380376208  0.612169888 -0.278418558  0.690241048 -0.5609709554
## 104 -0.6456153249 -1.099167380  0.458552055  0.284866294  0.3764021830
## 105 -0.4718631832 -0.771073861  0.085492950 -0.093329806  0.4058715124
## 106 -1.3102495879  0.780758743  0.285355600 -0.636639411  1.2289235395
## 107 -1.4713647616  0.183580582  2.088964183 -2.447524415 -3.1958580267
## 108 -1.9885036537 -0.483326413  0.650700901 -0.055090555  1.2991646471
## 109 -0.8860188901  0.008354019 -1.962376505 -0.433177430 -0.4401990108
## 110 -0.7340591735  0.823594295 -2.225817095  0.405940833 -1.2678093645
## 111 -1.5940657327  0.953609544  0.085413561  0.927568302  0.1652429405
## 112 -1.6618145489  0.954358961  0.282212586  0.972573290  0.2527126858
## 113 -1.5477689424  0.126431956 -0.396580999  0.362464572  0.2046790522
## 114  0.2142593813 -0.134585812  0.015286766 -0.001916119 -0.0031010544
## 115  0.1719955650 -0.104202136  0.342907497  0.121993165  0.0782660763
## 116  0.1993896489 -0.191600804  0.130478146 -0.044329903  0.0913907072
## 117  0.1894690424 -0.150098957  0.267836680 -0.097197194  0.1966340172
## 118  0.2598551348 -0.285160912 -0.038955037 -0.659171574  0.4346719341
## 119  0.2279652748 -0.019504331  0.045008649 -0.293357872  0.1695131166
## 120  0.2373131726 -0.117454145 -0.136487653 -0.343575673  0.0966723157
## 121  0.1532426217 -0.117586733  0.182327274 -0.053918799  0.1275014119
## 122  0.2247943925  0.265175731  0.083720599 -0.192964902  0.1535906542
## 123  0.2111228028  0.109024560 -0.070991683 -0.138706939  0.0383132388
## 124  0.2243494348 -0.036103884 -0.131144860 -0.463421442  0.2575650491
## 125  0.1332502536  0.008236507  0.057939097  0.178404803 -0.0794937251
## 126  0.1140993146  0.048467497  0.329250300 -0.131620185  0.3200861405
## 127  0.1037420721  0.105641406  0.200311357  0.120244674  0.0333008065
## 128 -0.3126770502 -0.249680163 -0.478327533 -0.498905797  0.2799120157
## 129 -0.2758629738 -0.040627516 -0.445995813 -0.777197660 -0.0733266139
## 130 -0.5683353476 -0.263987075 -0.841529242 -0.872216777  0.4137612238
## 131 -0.7189560676 -0.050941092 -0.960356669 -0.515103004  0.1834270492
## 132 -1.3449350778 -0.338028114 -0.812137235 -0.645152596  0.6679764786
## 133  0.2401993401 -0.174939004  0.101594458  0.064369752 -0.0304291169
## 134  0.2065497716 -0.461018091  0.171554607 -0.404609472  0.3514168997
## 135  0.2399565448 -0.019129947  0.006621264  0.096309418 -0.0866466344
## 136  0.1598833112 -0.151329744  0.309637751 -0.005785602  0.1395766728
## 137  0.1822029964  0.163387381  0.109117841  0.354003208 -0.1903189811
## 138  0.2162484526  0.251403011  0.138341343 -0.098760755  0.1438860081
## 139  0.2606657649  0.450579063  0.001395130 -0.030308301 -0.0001247620
## 140  0.2417294432  0.346111320  0.060238371 -0.129493522  0.1431601037
## 141  0.2034381422 -0.004871544 -0.011912108 -0.350905300  0.2514940934
## 142  0.1508226032  0.047204628  0.016507199  0.166551476 -0.3286651283
## 143  0.1780054343  0.287868354  0.126302441 -0.057644968 -0.0277000091
## 144  0.1816259247  0.179515180  0.114358486 -0.366374241  0.3685873427
## 145  0.0201564803  0.227125891 -0.058505261  0.091196691 -0.0653796114
## 146  0.0848710858  0.060446651  0.362372984  0.089747742  0.1056451403
## 147  0.1203272345 -0.160075886 -0.251910805  0.289205899 -0.3178440088
## 148  0.1573149601 -0.004116773 -0.064014861 -0.077043836  0.0107785684
## 149  0.1388704518  0.024246746  0.015826212 -0.037758638  0.0745257336
## 150  0.0935699524  0.419268133  0.577115287  0.100762862  0.0772870585
## 151  0.1312131038  0.039151687  0.122002770 -0.396215368  0.3974486726
## 152 -0.0700853206 -0.928509381 -0.059614399  0.274492657 -0.1089497754
## 153  0.0540899419 -0.139314564 -0.327306049  0.719193971 -0.6665850280
## 154  0.1460560387 -0.009990271 -0.188761160 -0.072589792 -0.1074518783
## 155  0.0554918697  0.083795099  0.309377518  0.072024288  0.1675206993
## 156  0.0955381030  0.198745206 -0.041073996  0.134572698 -0.0855845170
## 157  0.0755570853 -0.042209761 -0.134648521 -0.022005708 -0.0006556907
## 158 -0.1168639358 -0.738985576 -0.036095450  0.496237868 -0.2862393285
## 159  0.0330709608 -0.271927911  0.037453296 -0.355177461  0.3632007774
## 160  0.0195299245 -0.280812737  0.078775107 -0.466612120  0.4577559026
## 161 -0.0170151957 -0.176284389  0.115178061 -0.287623195  0.3957898395
## 162  0.0360424975 -0.221128615 -0.213985583  0.405352337 -0.7524277822
## 163 -0.0185511521 -0.869712433  0.007505583 -0.019503142 -0.0311206542
##              PC6
## 1    0.936689320
## 2    0.104893436
## 3    0.711760169
## 4   -0.172745799
## 5   -0.073272899
## 6    0.058841043
## 7   -0.298989018
## 8   -0.345347430
## 9   -0.241227506
## 10   0.019020032
## 11  -0.065561015
## 12  -0.043307060
## 13  -0.377452892
## 14  -0.045091426
## 15   0.146035727
## 16  -0.059613980
## 17  -0.177027660
## 18   0.011934135
## 19   0.936469661
## 20   0.573642062
## 21   0.149900069
## 22  -0.506454318
## 23  -0.059375975
## 24   0.017766723
## 25  -0.154338159
## 26  -0.333473835
## 27  -0.038016026
## 28   0.063529068
## 29   0.296854455
## 30  -0.175989279
## 31  -0.123567645
## 32  -0.125028047
## 33  -0.410948420
## 34   0.166560472
## 35   0.123307639
## 36  -0.237457003
## 37  -0.195238282
## 38  -0.076241408
## 39  -0.339415286
## 40  -0.339415286
## 41  -0.409279166
## 42  -0.142373354
## 43  -0.120473916
## 44  -0.023284409
## 45  -0.573155837
## 46  -0.178590540
## 47  -0.433167075
## 48   0.136950437
## 49   0.328678245
## 50  -0.509506373
## 51  -0.296316276
## 52  -0.382238305
## 53  -0.328492445
## 54  -0.179400810
## 55  -0.108305667
## 56  -0.110566397
## 57  -0.775253943
## 58  -0.146322776
## 59  -0.287135703
## 60  -0.359258884
## 61   0.746507240
## 62   0.851198725
## 63  -0.034834519
## 64   0.320173608
## 65   0.223323078
## 66   0.756853725
## 67   0.161232441
## 68   0.204720401
## 69   0.075230900
## 70   0.339750430
## 71   1.026981757
## 72  -0.579173895
## 73   0.032264205
## 74   0.185874929
## 75  -0.052010929
## 76   0.001452301
## 77  -0.143518483
## 78   0.151199490
## 79   0.130437097
## 80   0.533670343
## 81   0.828516861
## 82   0.010953121
## 83  -0.521616796
## 84  -0.092344911
## 85  -0.832405468
## 86   0.479375747
## 87   0.761558444
## 88  -0.219201897
## 89   0.085756648
## 90   0.719267405
## 91  -0.787594914
## 92   0.524715931
## 93   1.632911977
## 94   0.656589862
## 95   0.044147992
## 96   0.062746213
## 97  -0.789927679
## 98  -0.367659895
## 99   0.125117077
## 100 -0.019061847
## 101 -0.028195761
## 102  0.021328671
## 103 -0.166406449
## 104 -0.203956727
## 105  0.593517862
## 106 -0.557524485
## 107 -0.004477602
## 108 -0.303698396
## 109 -0.213398118
## 110 -0.039731414
## 111  0.703606130
## 112  0.681595980
## 113 -0.172564117
## 114 -0.308931285
## 115 -0.320273452
## 116  0.058157416
## 117 -0.007935541
## 118  0.229392297
## 119 -0.322662790
## 120 -0.220522424
## 121 -0.151936358
## 122  0.061638517
## 123  0.184158540
## 124  0.242295121
## 125 -0.201847935
## 126  0.186568969
## 127 -0.079068989
## 128 -0.307813238
## 129 -0.027311289
## 130 -0.025968800
## 131  0.006498529
## 132  0.036613016
## 133 -0.326262335
## 134 -0.027916444
## 135  0.005393969
## 136 -0.324282154
## 137 -0.332151586
## 138  0.292677598
## 139  0.184652435
## 140  0.331451597
## 141 -0.020240635
## 142 -0.567276887
## 143 -0.315677006
## 144  0.398662842
## 145 -0.428546663
## 146 -0.609365175
## 147  0.855055385
## 148 -0.071461163
## 149 -0.033438693
## 150  0.030768432
## 151  0.293250575
## 152  0.461842237
## 153  0.370273680
## 154 -0.403299463
## 155 -0.144663498
## 156  0.041386173
## 157 -0.059419466
## 158 -0.150430764
## 159 -0.007375306
## 160  0.067713618
## 161  0.138785162
## 162 -0.106795989
## 163 -0.522748233
## 
## $call
## rda(formula = Y ~ 1)
## 
## $tot.chi
## [1] 3.656304
## 
## $unconst.chi
## [1] 3.656304
## 
## $cont
## $cont$importance
## Importance of components:
##                          PC1    PC2     PC3     PC4     PC5      PC6      PC7
## Eigenvalue            2.6056 0.5828 0.21129 0.18895 0.04308 0.014033 0.008907
## Proportion Explained  0.7126 0.1594 0.05779 0.05168 0.01178 0.003838 0.002436
## Cumulative Proportion 0.7126 0.8721 0.92984 0.98152 0.99330 0.997137 0.999573
##                             PC8       PC9
## Eigenvalue            0.0015623 6.952e-07
## Proportion Explained  0.0004273 1.901e-07
## Cumulative Proportion 0.9999998 1.000e+00
FAC <- as.factor(ifelse(DGlass$Class == 2, 2, 1))
pca.scores <- as.data.frame(summary(mod.pca)$sites[, 1:2])
pca.scores <- cbind(pca.scores, FAC)
l <- lapply(unique(pca.scores$FAC), function(c) 
         { f <- subset(pca.scores, FAC == c); f[chull(f), ]})
hull <- do.call(rbind, l)
axX <- paste("PC1 (", as.integer(100*mod.pca$CA$eig[1]/sum(mod.pca$CA$eig)), "%)")
axY <- paste("PC2 (", as.integer(100*mod.pca$CA$eig[2]/sum(mod.pca$CA$eig)), "%)")
library(ggplot2)
ggplot() + 
  geom_polygon(data = hull, 
               aes(x = PC1, y = PC2, fill = FAC), alpha = 0.4, linetype = 0) +  
  geom_point(data = pca.scores, 
             aes(x = PC1, y = PC2, shape = FAC, colour = FAC), size = 3) + 
  scale_colour_manual(values = c('purple', 'blue')) +
  xlab(axX) + ylab(axY) + coord_equal() + theme_bw()