Load the mtcars dataset from a CSV file

setwd("C:/Users/jctay/Documents/INFSCI 0310")
Warning: The working directory was changed to C:/Users/jctay/Documents/INFSCI 0310 inside a notebook chunk. The working directory will be reset when the chunk is finished running. Use the knitr root.dir option in the setup chunk to change the working directory for notebook chunks.
df <- read.csv("mtcars-3.csv")

# Displaying first few rows using head() function
head(df)

# Print the dimension of the dataset
dim(df)
[1] 32 12
# Print the data structure of variable df
str(df)
'data.frame':   32 obs. of  12 variables:
 $ model: chr  "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" "Hornet 4 Drive" ...
 $ mpg  : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl  : int  6 6 4 6 8 6 8 4 4 6 ...
 $ disp : num  160 160 108 258 360 ...
 $ hp   : int  110 110 93 110 175 105 245 62 95 123 ...
 $ drat : num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt   : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec : num  16.5 17 18.6 19.4 17 ...
 $ vs   : int  0 0 1 1 0 1 0 1 1 1 ...
 $ am   : int  1 1 1 0 0 0 0 0 0 0 ...
 $ gear : int  4 4 4 3 3 3 3 4 4 4 ...
 $ carb : int  4 4 1 1 2 1 4 2 2 4 ...
# Use summary() function to get some details of this dataset
summary(df)
    model                mpg             cyl             disp             hp       
 Length:32          Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
 Class :character   1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
 Mode  :character   Median :19.20   Median :6.000   Median :196.3   Median :123.0  
                    Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
                    3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
                    Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
      drat             wt             qsec             vs               am        
 Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000   Min.   :0.0000  
 1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000   1st Qu.:0.0000  
 Median :3.695   Median :3.325   Median :17.71   Median :0.0000   Median :0.0000  
 Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375   Mean   :0.4062  
 3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000   3rd Qu.:1.0000  
 Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000   Max.   :1.0000  
      gear            carb      
 Min.   :3.000   Min.   :1.000  
 1st Qu.:3.000   1st Qu.:2.000  
 Median :4.000   Median :2.000  
 Mean   :3.688   Mean   :2.812  
 3rd Qu.:4.000   3rd Qu.:4.000  
 Max.   :5.000   Max.   :8.000  
# Change the datatype/class of variable 'am' from integer to boolean/logical
as.logical(as.integer(df$am))
 [1]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[16] FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[31]  TRUE  TRUE

Data Visualization

Scatter Plot

setwd("C:/Users/jctay/Documents/INFSCI 0310")
Warning: The working directory was changed to C:/Users/jctay/Documents/INFSCI 0310 inside a notebook chunk. The working directory will be reset when the chunk is finished running. Use the knitr root.dir option in the setup chunk to change the working directory for notebook chunks.
df <- read.csv("mtcars-3.csv")

# Scatter Plot using mpg and hp
plot(df$mpg, df$hp, pch = 19, col = "black")

The correlation between mpg and hp seems to be that when there is a higher horsepower, there is less miles per gallon, and vice versa.

Bar Chart

setwd("C:/Users/jctay/Documents/INFSCI 0310")
Warning: The working directory was changed to C:/Users/jctay/Documents/INFSCI 0310 inside a notebook chunk. The working directory will be reset when the chunk is finished running. Use the knitr root.dir option in the setup chunk to change the working directory for notebook chunks.
df <- read.csv("mtcars-3.csv")

# Creating a Bar Chart of distribution of cars with different cylinders
values = c("4", "6", "8")
cnt = c(length(which(df$cyl == 4)), length(which(df$cyl == 6)), length(which(df$cyl == 8)))
barplot(cnt, names.arg = values, xlab="Cylinders", ylab="Amount of Cars", col = "black")

Histogram

setwd("C:/Users/jctay/Documents/INFSCI 0310")
Warning: The working directory was changed to C:/Users/jctay/Documents/INFSCI 0310 inside a notebook chunk. The working directory will be reset when the chunk is finished running. Use the knitr root.dir option in the setup chunk to change the working directory for notebook chunks.
df <- read.csv("mtcars-3.csv")

# Creating a Histogram on the variable mpg
hist(df$mpg)

LS0tDQp0aXRsZTogIkhvbWV3b3JrIDEgSmFja3NvbiBUYXlsb3IiDQphdXRob3I6IEphY2tzb24gVGF5bG9yDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIExvYWQgdGhlIG10Y2FycyBkYXRhc2V0IGZyb20gYSBDU1YgZmlsZQ0KDQpgYGB7Un0NCnNldHdkKCJDOi9Vc2Vycy9qY3RheS9Eb2N1bWVudHMvSU5GU0NJIDAzMTAiKQ0KZGYgPC0gcmVhZC5jc3YoIm10Y2Fycy0zLmNzdiIpDQoNCiMgRGlzcGxheWluZyBmaXJzdCBmZXcgcm93cyB1c2luZyBoZWFkKCkgZnVuY3Rpb24NCmhlYWQoZGYpDQoNCiMgUHJpbnQgdGhlIGRpbWVuc2lvbiBvZiB0aGUgZGF0YXNldA0KZGltKGRmKQ0KDQojIFByaW50IHRoZSBkYXRhIHN0cnVjdHVyZSBvZiB2YXJpYWJsZSBkZg0Kc3RyKGRmKQ0KDQojIFVzZSBzdW1tYXJ5KCkgZnVuY3Rpb24gdG8gZ2V0IHNvbWUgZGV0YWlscyBvZiB0aGlzIGRhdGFzZXQNCnN1bW1hcnkoZGYpDQoNCiMgQ2hhbmdlIHRoZSBkYXRhdHlwZS9jbGFzcyBvZiB2YXJpYWJsZSAnYW0nIGZyb20gaW50ZWdlciB0byBib29sZWFuL2xvZ2ljYWwNCmFzLmxvZ2ljYWwoYXMuaW50ZWdlcihkZiRhbSkpDQpgYGANCg0KIyBEYXRhIFZpc3VhbGl6YXRpb24NCg0KIyMgU2NhdHRlciBQbG90DQoNCmBgYHtSfQ0Kc2V0d2QoIkM6L1VzZXJzL2pjdGF5L0RvY3VtZW50cy9JTkZTQ0kgMDMxMCIpDQpkZiA8LSByZWFkLmNzdigibXRjYXJzLTMuY3N2IikNCg0KIyBTY2F0dGVyIFBsb3QgdXNpbmcgbXBnIGFuZCBocA0KcGxvdChkZiRtcGcsIGRmJGhwLCBwY2ggPSAxOSwgY29sID0gImJsYWNrIikNCmBgYA0KDQo+IFRoZSBjb3JyZWxhdGlvbiBiZXR3ZWVuIG1wZyBhbmQgaHAgc2VlbXMgdG8gYmUgdGhhdCB3aGVuIHRoZXJlIGlzIGEgaGlnaGVyIGhvcnNlcG93ZXIsIHRoZXJlIGlzIGxlc3MgbWlsZXMgcGVyIGdhbGxvbiwgYW5kIHZpY2UgdmVyc2EuDQoNCiMjIEJhciBDaGFydA0KDQpgYGB7Un0NCnNldHdkKCJDOi9Vc2Vycy9qY3RheS9Eb2N1bWVudHMvSU5GU0NJIDAzMTAiKQ0KZGYgPC0gcmVhZC5jc3YoIm10Y2Fycy0zLmNzdiIpDQoNCiMgQ3JlYXRpbmcgYSBCYXIgQ2hhcnQgb2YgZGlzdHJpYnV0aW9uIG9mIGNhcnMgd2l0aCBkaWZmZXJlbnQgY3lsaW5kZXJzDQp2YWx1ZXMgPSBjKCI0IiwgIjYiLCAiOCIpDQpjbnQgPSBjKGxlbmd0aCh3aGljaChkZiRjeWwgPT0gNCkpLCBsZW5ndGgod2hpY2goZGYkY3lsID09IDYpKSwgbGVuZ3RoKHdoaWNoKGRmJGN5bCA9PSA4KSkpDQpiYXJwbG90KGNudCwgbmFtZXMuYXJnID0gdmFsdWVzLCB4bGFiPSJDeWxpbmRlcnMiLCB5bGFiPSJBbW91bnQgb2YgQ2FycyIsIGNvbCA9ICJibGFjayIpDQpgYGANCg0KIyMgSGlzdG9ncmFtDQoNCmBgYHtSfQ0Kc2V0d2QoIkM6L1VzZXJzL2pjdGF5L0RvY3VtZW50cy9JTkZTQ0kgMDMxMCIpDQpkZiA8LSByZWFkLmNzdigibXRjYXJzLTMuY3N2IikNCg0KIyBDcmVhdGluZyBhIEhpc3RvZ3JhbSBvbiB0aGUgdmFyaWFibGUgbXBnDQpoaXN0KGRmJG1wZykNCmBgYA0K