The document summarises results of Data Visualisation on mtcars dataset.

data(mtcars)
summary(mtcars)
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  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        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000
str(mtcars)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  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  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
  1. Draw a pie chart showing the proportion of cars from the mtcars data set that have different carb values.

The pie chart shows the proportion of cars in the mtcars data set based on different number of carbs. Each sector of the pie displays the number of carburetors and the percentage of cars for as many number of carburetors.

mtcars$carb
##  [1] 4 4 1 1 2 1 4 2 2 4 4 3 3 3 4 4 4 1 2 1 1 2 2 4 2 1 2 2 4 6 8 2
proportion <-table(mtcars$carb)/sum(table(mtcars$carb))
lbls <- paste(names(proportion), ",", proportion*100, "%", sep = "")
pie(proportion, labels = lbls, main="Proportion of Cars with Different Number of Carbs")

Proportion of Cars with Different Number of Carbs

Proportion of Cars with Different Number of Carbs

  1. Draw a bar graph, that shows the number of each gear type in mtcars.

The below bar chart shows the number of gears (3, 4 and 5) on the x-axis and shows the total number of cars on the y-axis.

barplot(table(mtcars$gear), main="Distribution of cars by Number of Gears", xlab="Number of Gears", col = "lightgreen")

Distribution of cars by Number of Gears

  1. Next show a stacked bar graph of the number of each gear type and how they are further divded out by cyl.

The stacked bar chart displays the number of cars on the y-axis based on number of gears on the x-axis, as in the prior problem. In addition, the chart breaks down number of cars in each gear group by number of cylinders (4, 6 and 8). Different colors in the graph represent different number of cylinders for the same number of gears.

count <- table(mtcars$cyl, mtcars$gear)
barplot(count, main=" Number of cars of each `gear` type and Cylinders",
  xlab="Number of Gears", col=c("lightblue","pink","yellow"),
    legend = rownames(count), args.legend = list(title = "Number of Cylinders"))

Number of cars of each gear type and Cylinders

  1. Draw a scatter plot showing the relationship between wt and mpg.

This scatter plot analyses the change in the miles per gallon as the car weight increases. As observed, on an average, the mileage (mpg) of a car decreases as the weight of car is increased.

plot(mtcars$wt, mtcars$mpg, main="Car Miles per Gallon V/s Car Weight", xlab="Car Weight (in lbs)", ylab="Miles Per Gallon ", col = "red")

Car Miles per Gallon V/s Car Weight

Car Miles per Gallon V/s Car Weight

  1. Design a visualization of your choice using the data.

BoxPlots are useful for factor data types with multiple level and provides interquantile range of the data for each level of independent variable. Box plot also shows the min and max ranges of the values for each level, effectively highlighting the outliers.

The Box Plot below shows the mpg values for cars with different cylinder types. We can observe that the average mpg for a car is higher for less number of cylinders

boxplot(mtcars$mpg ~ mtcars$cyl, main = "Mileage vs Number of Cylinders", xlab = "Number of Cylinders", ylab = "Miles per Gallon", 
        col = "cornsilk")

Mileage vs Number of Cylinders

Mileage vs Number of Cylinders