# From the book ISLR by Games,Witten,Hastie and Tibshirani
library(ISLR)
objects(grep("ISLR",search()))
## [1] "Auto" "Caravan" "Carseats" "College" "Default"
## [6] "Hitters" "Khan" "NCI60" "OJ" "Portfolio"
## [11] "Smarket" "Wage" "Weekly"
data("Carseats")
Carseats[1:5,]
## Sales CompPrice Income Advertising Population Price ShelveLoc Age
## 1 9.50 138 73 11 276 120 Bad 42
## 2 11.22 111 48 16 260 83 Good 65
## 3 10.06 113 35 10 269 80 Medium 59
## 4 7.40 117 100 4 466 97 Medium 55
## 5 4.15 141 64 3 340 128 Bad 38
## Education Urban US
## 1 17 Yes Yes
## 2 10 Yes Yes
## 3 12 Yes Yes
## 4 14 Yes Yes
## 5 13 Yes No
?Carseats
## starting httpd help server ... done
str(Carseats)
## 'data.frame': 400 obs. of 11 variables:
## $ Sales : num 9.5 11.22 10.06 7.4 4.15 ...
## $ CompPrice : num 138 111 113 117 141 124 115 136 132 132 ...
## $ Income : num 73 48 35 100 64 113 105 81 110 113 ...
## $ Advertising: num 11 16 10 4 3 13 0 15 0 0 ...
## $ Population : num 276 260 269 466 340 501 45 425 108 131 ...
## $ Price : num 120 83 80 97 128 72 108 120 124 124 ...
## $ ShelveLoc : Factor w/ 3 levels "Bad","Good","Medium": 1 2 3 3 1 1 3 2 3 3 ...
## $ Age : num 42 65 59 55 38 78 71 67 76 76 ...
## $ Education : num 17 10 12 14 13 16 15 10 10 17 ...
## $ Urban : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 1 2 2 1 1 ...
## $ US : Factor w/ 2 levels "No","Yes": 2 2 2 2 1 2 1 2 1 2 ...
table(Carseats$ShelveLoc)
##
## Bad Good Medium
## 96 85 219
table(Carseats$Urban)
##
## No Yes
## 118 282
table(Carseats$US)
##
## No Yes
## 142 258
summary(Carseats)
## Sales CompPrice Income Advertising
## Min. : 0.000 Min. : 77 Min. : 21.00 Min. : 0.000
## 1st Qu.: 5.390 1st Qu.:115 1st Qu.: 42.75 1st Qu.: 0.000
## Median : 7.490 Median :125 Median : 69.00 Median : 5.000
## Mean : 7.496 Mean :125 Mean : 68.66 Mean : 6.635
## 3rd Qu.: 9.320 3rd Qu.:135 3rd Qu.: 91.00 3rd Qu.:12.000
## Max. :16.270 Max. :175 Max. :120.00 Max. :29.000
## Population Price ShelveLoc Age
## Min. : 10.0 Min. : 24.0 Bad : 96 Min. :25.00
## 1st Qu.:139.0 1st Qu.:100.0 Good : 85 1st Qu.:39.75
## Median :272.0 Median :117.0 Medium:219 Median :54.50
## Mean :264.8 Mean :115.8 Mean :53.32
## 3rd Qu.:398.5 3rd Qu.:131.0 3rd Qu.:66.00
## Max. :509.0 Max. :191.0 Max. :80.00
## Education Urban US
## Min. :10.0 No :118 No :142
## 1st Qu.:12.0 Yes:282 Yes:258
## Median :14.0
## Mean :13.9
## 3rd Qu.:16.0
## Max. :18.0
Carseats$ShelveLoc <- as.factor(Carseats$ShelveLoc)
Carseats$ShelveLoc <- factor(Carseats$ShelveLoc,levels = c("Bad","Medium","Good"))
summary(Carseats)
## Sales CompPrice Income Advertising
## Min. : 0.000 Min. : 77 Min. : 21.00 Min. : 0.000
## 1st Qu.: 5.390 1st Qu.:115 1st Qu.: 42.75 1st Qu.: 0.000
## Median : 7.490 Median :125 Median : 69.00 Median : 5.000
## Mean : 7.496 Mean :125 Mean : 68.66 Mean : 6.635
## 3rd Qu.: 9.320 3rd Qu.:135 3rd Qu.: 91.00 3rd Qu.:12.000
## Max. :16.270 Max. :175 Max. :120.00 Max. :29.000
## Population Price ShelveLoc Age
## Min. : 10.0 Min. : 24.0 Bad : 96 Min. :25.00
## 1st Qu.:139.0 1st Qu.:100.0 Medium:219 1st Qu.:39.75
## Median :272.0 Median :117.0 Good : 85 Median :54.50
## Mean :264.8 Mean :115.8 Mean :53.32
## 3rd Qu.:398.5 3rd Qu.:131.0 3rd Qu.:66.00
## Max. :509.0 Max. :191.0 Max. :80.00
## Education Urban US
## Min. :10.0 No :118 No :142
## 1st Qu.:12.0 Yes:282 Yes:258
## Median :14.0
## Mean :13.9
## 3rd Qu.:16.0
## Max. :18.0
aggregate(Carseats$Sales~Carseats$ShelveLoc+Carseats$Urban,Carseats,mean)
## Carseats$ShelveLoc Carseats$Urban Carseats$Sales
## 1 Bad No 5.547273
## 2 Medium No 7.240882
## 3 Good No 9.931429
## 4 Bad Yes 5.515676
## 5 Medium Yes 7.336159
## 6 Good Yes 10.352807
aggregate(Carseats$Sales~Carseats$ShelveLoc+Carseats$Advertising,Carseats,mean)
## Carseats$ShelveLoc Carseats$Advertising Carseats$Sales
## 1 Bad 0 5.109429
## 2 Medium 0 6.720000
## 3 Good 0 9.270714
## 4 Bad 1 3.150000
## 5 Medium 1 5.752000
## 6 Good 1 11.395000
## 7 Bad 2 5.150000
## 8 Medium 2 6.295000
## 9 Good 2 9.245000
## 10 Bad 3 5.475000
## 11 Medium 3 7.613333
## 12 Good 3 12.660000
## 13 Bad 4 4.514000
## 14 Medium 4 6.555000
## 15 Good 4 11.706667
## 16 Bad 5 6.590000
## 17 Medium 5 6.194167
## 18 Good 5 9.750000
## 19 Bad 6 4.635000
## 20 Medium 6 5.964000
## 21 Bad 7 3.593333
## 22 Medium 7 7.791667
## 23 Good 7 11.235000
## 24 Bad 8 7.690000
## 25 Medium 8 8.108571
## 26 Good 8 8.440000
## 27 Bad 9 8.320000
## 28 Medium 9 6.508000
## 29 Good 9 10.440000
## 30 Bad 10 5.853333
## 31 Medium 10 8.413636
## 32 Good 10 10.257500
## 33 Bad 11 6.128333
## 34 Medium 11 7.441667
## 35 Good 11 9.972500
## 36 Bad 12 6.150000
## 37 Medium 12 8.464545
## 38 Good 12 9.840000
## 39 Bad 13 6.711667
## 40 Medium 13 7.268889
## 41 Good 13 8.994000
## 42 Medium 14 8.591000
## 43 Good 14 13.440000
## 44 Bad 15 5.127500
## 45 Medium 15 8.310000
## 46 Good 15 11.410000
## 47 Bad 16 9.075000
## 48 Medium 16 8.875000
## 49 Good 16 11.180000
## 50 Medium 17 7.745000
## 51 Good 17 11.670000
## 52 Bad 18 1.420000
## 53 Medium 18 9.534000
## 54 Bad 19 6.835000
## 55 Medium 19 8.300000
## 56 Good 19 13.445000
## 57 Bad 20 6.900000
## 58 Medium 20 5.740000
## 59 Good 20 12.980000
## 60 Bad 21 3.900000
## 61 Bad 22 7.680000
## 62 Medium 22 10.260000
## 63 Bad 23 8.550000
## 64 Good 23 9.580000
## 65 Good 24 12.490000
## 66 Medium 25 8.750000
## 67 Medium 26 8.030000
## 68 Medium 29 9.530000
x <- seq(1,10)
y <- x
plot(x,y,col="green")
f <-outer(x,y,function(x,y)cos(y)/(1+x^2))
contour(x,y,f,nlevels = 45,add = T)

fa <- (f-t(f))/2
contour(x,y,fa,nlevels = 15)

image(x,y,fa)

persp(x,y,fa)

persp(x,y,fa,theta = 30)

persp(x,y,fa,theta = 30,phi = 20)

persp(x,y,fa,theta = 30,phi = 70)

persp(x,y,fa,theta = 30,phi = 40)

A <- matrix(1:16,4,4)
A
## [,1] [,2] [,3] [,4]
## [1,] 1 5 9 13
## [2,] 2 6 10 14
## [3,] 3 7 11 15
## [4,] 4 8 12 16
A[c(1,3)]
## [1] 1 3
A[,c(2,4)]
## [,1] [,2]
## [1,] 5 13
## [2,] 6 14
## [3,] 7 15
## [4,] 8 16
A[c(1,3),c(2,4)]
## [,1] [,2]
## [1,] 5 13
## [2,] 7 15