This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

plot(cars)

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

library(MASS)
Boston
?Boston
head(Boston)
nrow(Boston)
[1] 506
ncol(Boston)
[1] 14
summary(Boston)
      crim                zn             indus            chas              nox               rm             age              dis              rad              tax       
 Min.   : 0.00632   Min.   :  0.00   Min.   : 0.46   Min.   :0.00000   Min.   :0.3850   Min.   :3.561   Min.   :  2.90   Min.   : 1.130   Min.   : 1.000   Min.   :187.0  
 1st Qu.: 0.08204   1st Qu.:  0.00   1st Qu.: 5.19   1st Qu.:0.00000   1st Qu.:0.4490   1st Qu.:5.886   1st Qu.: 45.02   1st Qu.: 2.100   1st Qu.: 4.000   1st Qu.:279.0  
 Median : 0.25651   Median :  0.00   Median : 9.69   Median :0.00000   Median :0.5380   Median :6.208   Median : 77.50   Median : 3.207   Median : 5.000   Median :330.0  
 Mean   : 3.61352   Mean   : 11.36   Mean   :11.14   Mean   :0.06917   Mean   :0.5547   Mean   :6.285   Mean   : 68.57   Mean   : 3.795   Mean   : 9.549   Mean   :408.2  
 3rd Qu.: 3.67708   3rd Qu.: 12.50   3rd Qu.:18.10   3rd Qu.:0.00000   3rd Qu.:0.6240   3rd Qu.:6.623   3rd Qu.: 94.08   3rd Qu.: 5.188   3rd Qu.:24.000   3rd Qu.:666.0  
 Max.   :88.97620   Max.   :100.00   Max.   :27.74   Max.   :1.00000   Max.   :0.8710   Max.   :8.780   Max.   :100.00   Max.   :12.127   Max.   :24.000   Max.   :711.0  
    ptratio          black            lstat            medv      
 Min.   :12.60   Min.   :  0.32   Min.   : 1.73   Min.   : 5.00  
 1st Qu.:17.40   1st Qu.:375.38   1st Qu.: 6.95   1st Qu.:17.02  
 Median :19.05   Median :391.44   Median :11.36   Median :21.20  
 Mean   :18.46   Mean   :356.67   Mean   :12.65   Mean   :22.53  
 3rd Qu.:20.20   3rd Qu.:396.23   3rd Qu.:16.95   3rd Qu.:25.00  
 Max.   :22.00   Max.   :396.90   Max.   :37.97   Max.   :50.00  
pairs(Boston)

plot(crim~medv, data=Boston, main="Relation between crim rate and predictors", xlab="median value of owner-occupied", ylab="crim rate")

str(Boston)
'data.frame':   506 obs. of  14 variables:
 $ crim   : num  0.00632 0.02731 0.02729 0.03237 0.06905 ...
 $ zn     : num  18 0 0 0 0 0 12.5 12.5 12.5 12.5 ...
 $ indus  : num  2.31 7.07 7.07 2.18 2.18 2.18 7.87 7.87 7.87 7.87 ...
 $ chas   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ nox    : num  0.538 0.469 0.469 0.458 0.458 0.458 0.524 0.524 0.524 0.524 ...
 $ rm     : num  6.58 6.42 7.18 7 7.15 ...
 $ age    : num  65.2 78.9 61.1 45.8 54.2 58.7 66.6 96.1 100 85.9 ...
 $ dis    : num  4.09 4.97 4.97 6.06 6.06 ...
 $ rad    : int  1 2 2 3 3 3 5 5 5 5 ...
 $ tax    : num  296 242 242 222 222 222 311 311 311 311 ...
 $ ptratio: num  15.3 17.8 17.8 18.7 18.7 18.7 15.2 15.2 15.2 15.2 ...
 $ black  : num  397 397 393 395 397 ...
 $ lstat  : num  4.98 9.14 4.03 2.94 5.33 ...
 $ medv   : num  24 21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9 ...
require(ggplot2)
Loading required package: ggplot2
Want to understand how all the pieces fit together? Buy the ggplot2 book:
http://ggplot2.org/book/
require(reshape2)
Loading required package: reshape2
# plot each feature against crim rate
bosmelt <- melt(Boston, id="crim")
ggplot(bosmelt, aes(x=value, y=crim))+
  facet_wrap(~variable, scales="free")+
  geom_point()

(corrmatrix <- cor(Boston, use = "complete.obs")[1,])
       crim          zn       indus        chas         nox          rm         age 
 1.00000000 -0.20046922  0.40658341 -0.05589158  0.42097171 -0.21924670  0.35273425 
        dis         rad         tax     ptratio       black       lstat        medv 
-0.37967009  0.62550515  0.58276431  0.28994558 -0.38506394  0.45562148 -0.38830461 
corrmatrix[corrmatrix > 0.5 | corrmatrix < -0.5][-1] 
      rad       tax 
0.6255051 0.5827643 
require(ggplot2)
g <- ggplot(Boston, aes(x=1:nrow(Boston), y=crim))
g + geom_point()

g <- ggplot(Boston, aes(x=1:nrow(Boston), y=tax))
g + geom_point()

g <- ggplot(Boston, aes(x=1:nrow(Boston), y=ptratio))
g + geom_point()

table(Boston$chas)

  0   1 
471  35 
(seltown <- Boston[Boston$medv == min(Boston$medv),])
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayBmb3IgQm9zdG9uIERhdGFzZXQiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KClRoaXMgaXMgYW4gW1IgTWFya2Rvd25dKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20pIE5vdGVib29rLiBXaGVuIHlvdSBleGVjdXRlIGNvZGUgd2l0aGluIHRoZSBub3RlYm9vaywgdGhlIHJlc3VsdHMgYXBwZWFyIGJlbmVhdGggdGhlIGNvZGUuIAoKVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkN0cmwrU2hpZnQrRW50ZXIqLiAKCmBgYHtyfQpwbG90KGNhcnMpCmBgYAoKQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkN0cmwrQWx0K0kqLgoKV2hlbiB5b3Ugc2F2ZSB0aGUgbm90ZWJvb2ssIGFuIEhUTUwgZmlsZSBjb250YWluaW5nIHRoZSBjb2RlIGFuZCBvdXRwdXQgd2lsbCBiZSBzYXZlZCBhbG9uZ3NpZGUgaXQgKGNsaWNrIHRoZSAqUHJldmlldyogYnV0dG9uIG9yIHByZXNzICpDdHJsK1NoaWZ0K0sqIHRvIHByZXZpZXcgdGhlIEhUTUwgZmlsZSkuCgpgYGB7cn0KbGlicmFyeShNQVNTKQpCb3N0b24KYGBgCgpgYGB7cn0KP0Jvc3RvbgpgYGAKCmBgYHtyfQpoZWFkKEJvc3RvbikKYGBgCmBgYHtyfQpucm93KEJvc3RvbikKbmNvbChCb3N0b24pCmBgYAoKYGBge3J9CnN1bW1hcnkoQm9zdG9uKQpgYGAKCmBgYHtyfQpwYWlycyhCb3N0b24pCmBgYAoKYGBge3J9CnBsb3QoY3JpbX5tZWR2LCBkYXRhPUJvc3RvbiwgbWFpbj0iUmVsYXRpb24gYmV0d2VlbiBjcmltIHJhdGUgYW5kIHByZWRpY3RvcnMiLCB4bGFiPSJtZWRpYW4gdmFsdWUgb2Ygb3duZXItb2NjdXBpZWQiLCB5bGFiPSJjcmltIHJhdGUiKQpgYGAKYGBge3J9CnN0cihCb3N0b24pCmBgYAoKYGBge3J9CnJlcXVpcmUoZ2dwbG90MikKcmVxdWlyZShyZXNoYXBlMikKIyBwbG90IGVhY2ggZmVhdHVyZSBhZ2FpbnN0IGNyaW0gcmF0ZQpib3NtZWx0IDwtIG1lbHQoQm9zdG9uLCBpZD0iY3JpbSIpCmdncGxvdChib3NtZWx0LCBhZXMoeD12YWx1ZSwgeT1jcmltKSkrCiAgZmFjZXRfd3JhcCh+dmFyaWFibGUsIHNjYWxlcz0iZnJlZSIpKwogIGdlb21fcG9pbnQoKQooY29ycm1hdHJpeCA8LSBjb3IoQm9zdG9uLCB1c2UgPSAiY29tcGxldGUub2JzIilbMSxdKQpjb3JybWF0cml4W2NvcnJtYXRyaXggPiAwLjUgfCBjb3JybWF0cml4IDwgLTAuNV1bLTFdIApgYGAKYGBge3J9CnJlcXVpcmUoZ2dwbG90MikKZyA8LSBnZ3Bsb3QoQm9zdG9uLCBhZXMoeD0xOm5yb3coQm9zdG9uKSwgeT1jcmltKSkKZyArIGdlb21fcG9pbnQoKQpnIDwtIGdncGxvdChCb3N0b24sIGFlcyh4PTE6bnJvdyhCb3N0b24pLCB5PXRheCkpCmcgKyBnZW9tX3BvaW50KCkKZyA8LSBnZ3Bsb3QoQm9zdG9uLCBhZXMoeD0xOm5yb3coQm9zdG9uKSwgeT1wdHJhdGlvKSkKZyArIGdlb21fcG9pbnQoKQpgYGAKCmBgYHtyfQp0YWJsZShCb3N0b24kY2hhcykKYGBgCgpgYGB7cn0KKHNlbHRvd24gPC0gQm9zdG9uW0Jvc3RvbiRtZWR2ID09IG1pbihCb3N0b24kbWVkdiksXSkKYGBgCgo=