Lab 1: Principal Components Analysis

states = row.names(USArrests)
states
 [1] "Alabama"        "Alaska"        
 [3] "Arizona"        "Arkansas"      
 [5] "California"     "Colorado"      
 [7] "Connecticut"    "Delaware"      
 [9] "Florida"        "Georgia"       
[11] "Hawaii"         "Idaho"         
[13] "Illinois"       "Indiana"       
[15] "Iowa"           "Kansas"        
[17] "Kentucky"       "Louisiana"     
[19] "Maine"          "Maryland"      
[21] "Massachusetts"  "Michigan"      
[23] "Minnesota"      "Mississippi"   
[25] "Missouri"       "Montana"       
[27] "Nebraska"       "Nevada"        
[29] "New Hampshire"  "New Jersey"    
[31] "New Mexico"     "New York"      
[33] "North Carolina" "North Dakota"  
[35] "Ohio"           "Oklahoma"      
[37] "Oregon"         "Pennsylvania"  
[39] "Rhode Island"   "South Carolina"
[41] "South Dakota"   "Tennessee"     
[43] "Texas"          "Utah"          
[45] "Vermont"        "Virginia"      
[47] "Washington"     "West Virginia" 
[49] "Wisconsin"      "Wyoming"       
names(USArrests)
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"   
[5] "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
Murder   -0.5358995  0.4181809 -0.3412327
Assault  -0.5831836  0.1879856 -0.2681484
UrbanPop -0.2781909 -0.8728062 -0.3780158
Rape     -0.5434321 -0.1673186  0.8177779
                 PC4
Murder    0.64922780
Assault  -0.74340748
UrbanPop  0.13387773
Rape      0.08902432
dim(pr.out$x)
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
LS0tDQp0aXRsZTogIkNhcO10dWxvIDEwLCBMYWIgMSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KYXV0aG9yOiAiTHVpcyBKaW1lbmV6Ig0KLS0tDQoNCiMjIyBMYWIgMTogUHJpbmNpcGFsIENvbXBvbmVudHMgQW5hbHlzaXMNCg0KYGBge3J9DQpzdGF0ZXMgPSByb3cubmFtZXMoVVNBcnJlc3RzKQ0Kc3RhdGVzDQpgYGANCg0KYGBge3J9DQpuYW1lcyhVU0FycmVzdHMpDQpgYGANCg0KYGBge3J9DQphcHBseShVU0FycmVzdHMsIDIsIG1lYW4pDQpgYGANCg0KYGBge3J9DQphcHBseShVU0FycmVzdHMsIDIsIHZhcikNCmBgYA0KDQpgYGB7cn0NCnByLm91dCA9IHByY29tcChVU0FycmVzdHMsIHNjYWxlID0gVFJVRSkNCmBgYA0KDQpgYGB7cn0NCm5hbWVzKHByLm91dCkNCmBgYA0KDQpgYGB7cn0NCnByLm91dCRjZW50ZXINCnByLm91dCRzY2FsZQ0KYGBgDQoNCmBgYHtyfQ0KcHIub3V0JHJvdGF0aW9uDQpgYGANCg0KYGBge3J9DQpkaW0ocHIub3V0JHgpDQpgYGANCg0KYGBge3J9DQpiaXBsb3QocHIub3V0LCBzY2FsZSA9IDApDQpgYGANCg0KYGBge3J9DQpwci5vdXQkcm90YXRpb24gPSAtcHIub3V0JHJvdGF0aW9uDQpwci5vdXQkeCA9IC1wci5vdXQkeA0KYmlwbG90KHByLm91dCwgc2NhbGUgPSAwKQ0KYGBgDQoNCmBgYHtyfQ0KcHIub3V0JHNkZXYNCmBgYA0KDQpgYGB7cn0NCnByLnZhciA9IHByLm91dCRzZGV2XjINCnByLnZhcg0KYGBgDQoNCmBgYHtyfQ0KcHZlID0gcHIudmFyL3N1bShwci52YXIpDQpwdmUNCmBgYA0KDQpgYGB7cn0NCnBsb3QocHZlLCB4bGFiID0gIlByaW5jaXBhbCBDb21wb25lbnQiLCB5bGFiID0gIlByb3BvcnRpb24gb2YgVmFyaWFuY2UgRXhwbGFpbmVkIiwgeWxpbSA9IGMoMCwxKSwgdHlwZSA9ICJiIikNCnBsb3QoY3Vtc3VtKHB2ZSksIHhsYWIgPSAiUHJpbmNpcGFsIENvbXBvbmVudCIsIHlsYWIgPSAiQ3VtdWxhdGl2ZSBQcm9wb3J0aW9uIG9mIFZhcmlhbmNlIEV4cGxhaW5lZCIsIHlsaW0gPSBjKDAsIDEpLCB0eXBlID0gImIiKQ0KYGBgDQoNCmBgYHtyfQ0KYSA9IGMoMSwgMiwgOCwgLTMpDQpjdW1zdW0oYSkNCmBgYA==