First, Read mtcars

dat <- read.csv("/Users/jings/OneDrive/Documents/HW1/mtcars.csv",stringsAsFactors = F, na.strings = c(""," ",0))
dat
##                      X  mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## 1            Mazda RX4 21.0   6 160.0 110 3.90 2.620 16.46 NA  1    4    4
## 2        Mazda RX4 Wag 21.0   6 160.0 110 3.90 2.875 17.02 NA  1    4    4
## 3           Datsun 710 22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## 4       Hornet 4 Drive 21.4   6 258.0 110 3.08 3.215 19.44  1 NA    3    1
## 5    Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02 NA NA    3    2
## 6              Valiant 18.1   6 225.0 105 2.76 3.460 20.22  1 NA    3    1
## 7           Duster 360 14.3   8 360.0 245 3.21 3.570 15.84 NA NA    3    4
## 8            Merc 240D 24.4   4 146.7  62 3.69 3.190 20.00  1 NA    4    2
## 9             Merc 230 22.8   4 140.8  95 3.92 3.150 22.90  1 NA    4    2
## 10            Merc 280 19.2   6 167.6 123 3.92 3.440 18.30  1 NA    4    4
## 11           Merc 280C 17.8   6 167.6 123 3.92 3.440 18.90  1 NA    4    4
## 12          Merc 450SE 16.4   8 275.8 180 3.07 4.070 17.40 NA NA    3    3
## 13          Merc 450SL 17.3   8 275.8 180 3.07 3.730 17.60 NA NA    3    3
## 14         Merc 450SLC 15.2   8 275.8 180 3.07 3.780 18.00 NA NA    3    3
## 15  Cadillac Fleetwood 10.4   8 472.0 205 2.93 5.250 17.98 NA NA    3    4
## 16 Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82 NA NA    3    4
## 17   Chrysler Imperial 14.7   8 440.0 230 3.23 5.345 17.42 NA NA    3    4
## 18            Fiat 128 32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
## 19         Honda Civic 30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
## 20      Toyota Corolla 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
## 21       Toyota Corona 21.5   4 120.1  97 3.70 2.465 20.01  1 NA    3    1
## 22    Dodge Challenger 15.5   8 318.0 150 2.76 3.520 16.87 NA NA    3    2
## 23         AMC Javelin 15.2   8 304.0 150 3.15 3.435 17.30 NA NA    3    2
## 24          Camaro Z28 13.3   8 350.0 245 3.73 3.840 15.41 NA NA    3    4
## 25    Pontiac Firebird 19.2   8 400.0 175 3.08 3.845 17.05 NA NA    3    2
## 26           Fiat X1-9 27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
## 27       Porsche 914-2 26.0   4 120.3  91 4.43 2.140 16.70 NA  1    5    2
## 28        Lotus Europa 30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
## 29      Ford Pantera L 15.8   8 351.0 264 4.22 3.170 14.50 NA  1    5    4
## 30        Ferrari Dino 19.7   6 145.0 175 3.62 2.770 15.50 NA  1    5    6
## 31       Maserati Bora 15.0   8 301.0 335 3.54 3.570 14.60 NA  1    5    8
## 32          Volvo 142E 21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
  1. Create a pie chart showing the proportion of cars from the mtcars data set that have different carb values.
library(plotrix)
#summary(mtcars)
carb.freq <- table(mtcars$carb)
label <- names(carb.freq)
pct <- round(carb.freq/sum(carb.freq)*100)
label <- paste(pct) # add percents to labels 
label <- paste(label,"%",sep="") # add % to labels 
pie3D(carb.freq,labels = label,explode=0.1,col=rainbow(length(label)), main="Proportion of cars on Different Carb Values")

2.Create a bar graph, that shows the number of each gear type in mtcars.

counts <- table(mtcars$gear)
barplot(counts, main="Each gear type in mtcars", xlab="Number of Gears",names.arg=c("3 Gears", "4 Gears", "5   Gears"),col=c("red","purple","orange"))

  1. Next show a stacked bar graph of the number of each gear type and how they are further divided out by cyl.
# Stacked Bar Plot with Colors and Legend
counts <- table(mtcars$cyl, mtcars$gear)
barplot(counts, main="number of each gear divided by cyl",
  xlab="Number of Gears", col=c("purple","orange"),
    legend = rownames(counts))

  1. Draw a scatter plot showing the relationship between wt and mpg.
library(car) 
## Loading required package: carData
scatterplot(mpg ~ wt | mpg, data=mtcars, 
    xlab="Weight of Car", ylab="Miles Per Gallon", 
   main="Scatter Plot showing wt vs. mpg.")

5.Design a visualization of your choice using the data and write a brief summary about why you chose that visualization.

library(ggplot2) 

# create factors with value labels 
mtcars$gear <- factor(mtcars$gear,levels=c(3,4,5),
    labels=c("3gears","4gears","5gears")) 
mtcars$am <- factor(mtcars$am,levels=c(0,1),
    labels=c("Automatic","Manual")) 
mtcars$cyl <- factor(mtcars$cyl,levels=c(4,6,8),
   labels=c("4cyl","6cyl","8cyl")) 

# Kernel density plots for mpg
# grouped by number of gears (indicated by color)
qplot(mpg, data=mtcars, geom="density", fill=gear, alpha=I(.5), 
   main="Distribution of Gas Milage", xlab="Miles Per Gallon", 
   ylab="Density")

# Scatterplot of mpg vs. hp for each combination of gears and cylinders
# in each facet, transmittion type is represented by shape and color
qplot(hp, mpg, data=mtcars, shape=am, color=am, 
   facets=gear~cyl, size=I(3),
   xlab="Horsepower", ylab="Miles per Gallon") 

# Separate regressions of mpg on weight for each number of cylinders
qplot(wt, mpg, data=mtcars, geom=c("point", "smooth"), 
   method="lm", formula=y~x, color=cyl, 
   main="Regression of MPG on Weight", 
   xlab="Weight", ylab="Miles per Gallon")
## Warning: Ignoring unknown parameters: method, formula

# Boxplots of mpg by number of gears 
# observations (points) are overlayed and jittered
qplot(gear, mpg, data=mtcars, geom=c("boxplot", "jitter"), 
   fill=gear, main="Mileage by Gear Number",
   xlab="", ylab="Miles per Gallon")

I choose ggplot for data visualization. First, I pick three factors from the dataset mcars, which are gear, am, and cyl, and I label them with the particular value. Then, I did four different graph, which are kernel density plot, a scatter plot, a regression for mpg on weight, and a box plot by numbers of gears.

For distriution of Gas milage, we find the max density for 3gear is around 0.11, the max density of 4gear is around 0.08, the max density of 3gear is about 0.05.

The second graph is Scatterplot of mpg vs. hp for each combination of gears and cylinders. in each facet, transmittion type is represented by shape and color, the red dot is represent automatic, the triangle represent manual.

For third graph is regression of mpg on weight, and it is shown by 4cyl, 6cyl, and 8cyl. So the min is about 22 and the max is about 32 for 4cyl. The min is about 18 and max is about 22 for 6 cyl.The min is about 12 and max is about 17 for 8 cyl.

Last graph is the box plot,and it is by 3 gear, 4 gear, and 5 gear. So the min is about 11mpg and max is about 22mpg for 3gear. The min is about 18 and max is about 34 for 4 gear, and the min is about 15 and max is about 31 for 5 gear.