library(MASS)
library(ISLR)
library(car)
library(dplyr)
library(ggplot2)
library(caret)
library(mlbench)
library(caTools)
library (tree)

Principal Components Analysis

states =row.names(USArrests )
states
 [1] "Alabama"        "Alaska"         "Arizona"        "Arkansas"       "California"     "Colorado"      
 [7] "Connecticut"    "Delaware"       "Florida"        "Georgia"        "Hawaii"         "Idaho"         
[13] "Illinois"       "Indiana"        "Iowa"           "Kansas"         "Kentucky"       "Louisiana"     
[19] "Maine"          "Maryland"       "Massachusetts"  "Michigan"       "Minnesota"      "Mississippi"   
[25] "Missouri"       "Montana"        "Nebraska"       "Nevada"         "New Hampshire"  "New Jersey"    
[31] "New Mexico"     "New York"       "North Carolina" "North Dakota"   "Ohio"           "Oklahoma"      
[37] "Oregon"         "Pennsylvania"   "Rhode Island"   "South Carolina" "South Dakota"   "Tennessee"     
[43] "Texas"          "Utah"           "Vermont"        "Virginia"       "Washington"     "West Virginia" 
[49] "Wisconsin"      "Wyoming"       
names(USArrests )
[1] "Murder"   "Assault"  "UrbanPop" "Rape"    
apply(USArrests , 2, mean)
  Murder  Assault UrbanPop     Rape 
   7.788  170.760   65.540   21.232 
apply(USArrests , 2, var)
    Murder    Assault   UrbanPop       Rape 
  18.97047 6945.16571  209.51878   87.72916 
pr.out =prcomp (USArrests , scale =TRUE)
names(pr.out )
[1] "sdev"     "rotation" "center"   "scale"    "x"       
pr.out$center
  Murder  Assault UrbanPop     Rape 
   7.788  170.760   65.540   21.232 
pr.out$scale
   Murder   Assault  UrbanPop      Rape 
 4.355510 83.337661 14.474763  9.366385 
pr.out$rotation
                PC1        PC2        PC3         PC4
Murder   -0.5358995  0.4181809 -0.3412327  0.64922780
Assault  -0.5831836  0.1879856 -0.2681484 -0.74340748
UrbanPop -0.2781909 -0.8728062 -0.3780158  0.13387773
Rape     -0.5434321 -0.1673186  0.8177779  0.08902432
dim(pr.out$x )
[1] 50  4
biplot (pr.out , scale =0)

pr.out$rotation=-pr.out$rotation
pr.out$x=-pr.out$x
biplot (pr.out , scale =0)

pr.out$sdev
[1] 1.5748783 0.9948694 0.5971291 0.4164494
pr.var =pr.out$sdev ^2
pr.var
[1] 2.4802416 0.9897652 0.3565632 0.1734301
pve=pr.var/sum(pr.var )
pve
[1] 0.62006039 0.24744129 0.08914080 0.04335752
plot(pve , xlab="Principal Component", ylab="Proportion of Variance Explained", ylim=c(0,1) ,type="b")

plot(cumsum (pve ), xlab="Principal Component", ylab ="Cumulative Proportion of Variance Explained", ylim=c(0,1) ,type="b")

a=c(1,2,8,-3)
cumsum (a)
[1]  1  3 11  8
LS0tDQp0aXRsZTogIkxhYm9yYXRvcmlvIDEwLjQiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmxpYnJhcnkoTUFTUykNCmxpYnJhcnkoSVNMUikNCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkoY2FyZXQpDQpsaWJyYXJ5KG1sYmVuY2gpDQpsaWJyYXJ5KGNhVG9vbHMpDQpsaWJyYXJ5ICh0cmVlKQ0KYGBgDQojI1ByaW5jaXBhbCBDb21wb25lbnRzIEFuYWx5c2lzDQpgYGB7cn0NCnN0YXRlcyA9cm93Lm5hbWVzKFVTQXJyZXN0cyApDQpzdGF0ZXMNCm5hbWVzKFVTQXJyZXN0cyApDQphcHBseShVU0FycmVzdHMgLCAyLCBtZWFuKQ0KYXBwbHkoVVNBcnJlc3RzICwgMiwgdmFyKQ0KcHIub3V0ID1wcmNvbXAgKFVTQXJyZXN0cyAsIHNjYWxlID1UUlVFKQ0KbmFtZXMocHIub3V0ICkNCnByLm91dCRjZW50ZXINCnByLm91dCRzY2FsZQ0KcHIub3V0JHJvdGF0aW9uDQpkaW0ocHIub3V0JHggKQ0KYmlwbG90IChwci5vdXQgLCBzY2FsZSA9MCkNCnByLm91dCRyb3RhdGlvbj0tcHIub3V0JHJvdGF0aW9uDQpwci5vdXQkeD0tcHIub3V0JHgNCmJpcGxvdCAocHIub3V0ICwgc2NhbGUgPTApDQpwci5vdXQkc2Rldg0KcHIudmFyID1wci5vdXQkc2RldiBeMg0KcHIudmFyDQpwdmU9cHIudmFyL3N1bShwci52YXIgKQ0KcHZlDQpwbG90KHB2ZSAsIHhsYWI9IlByaW5jaXBhbCBDb21wb25lbnQiLCB5bGFiPSJQcm9wb3J0aW9uIG9mIFZhcmlhbmNlIEV4cGxhaW5lZCIsIHlsaW09YygwLDEpICx0eXBlPSJiIikNCnBsb3QoY3Vtc3VtIChwdmUgKSwgeGxhYj0iUHJpbmNpcGFsIENvbXBvbmVudCIsIHlsYWIgPSJDdW11bGF0aXZlIFByb3BvcnRpb24gb2YgVmFyaWFuY2UgRXhwbGFpbmVkIiwgeWxpbT1jKDAsMSkgLHR5cGU9ImIiKQ0KYT1jKDEsMiw4LC0zKQ0KY3Vtc3VtIChhKQ0KYGBgDQo=