Homework 3

1. Load the mtcars dataset and review summary statistics

data(mtcars)

head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
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

The mtcars dataset contains 32 automobiles and 11 variables. The variables include mpg, cyl, disp, hp, drat, wt, qsec, vs, am, gear, and carb. The summary statistics show differences in engine size, horsepower, weight, and fuel efficiency. One thing that stands out is the large range in horsepower and displacement between cars.

2. Visualization

hist(mtcars$mpg,
     main = "Distribution of Miles Per Gallon",
     xlab = "Miles Per Gallon (mpg)")

The histogram shows the distribution of fuel efficiency among the 32 cars. Most cars have an MPG value between approximately 15 and 25, while a few cars have much higher fuel efficiency.

3. Interesting trend, correlation, or pattern

plot(mtcars$wt, mtcars$mpg,
     main = "Car Weight vs. MPG",
     xlab = "Weight",
     ylab = "Miles Per Gallon (mpg)",
     pch = 19)

abline(lm(mpg ~ wt, data = mtcars))

An interesting trend is the negative relationship between weight and MPG. As vehicle weight increases, fuel efficiency generally decreases. This suggests that heavier cars tend to have lower miles per gallon.

4. Variables most strongly correlated with mpg

cor(mtcars)
##             mpg        cyl       disp         hp        drat         wt
## mpg   1.0000000 -0.8521620 -0.8475514 -0.7761684  0.68117191 -0.8676594
## cyl  -0.8521620  1.0000000  0.9020329  0.8324475 -0.69993811  0.7824958
## disp -0.8475514  0.9020329  1.0000000  0.7909486 -0.71021393  0.8879799
## hp   -0.7761684  0.8324475  0.7909486  1.0000000 -0.44875912  0.6587479
## drat  0.6811719 -0.6999381 -0.7102139 -0.4487591  1.00000000 -0.7124406
## wt   -0.8676594  0.7824958  0.8879799  0.6587479 -0.71244065  1.0000000
## qsec  0.4186840 -0.5912421 -0.4336979 -0.7082234  0.09120476 -0.1747159
## vs    0.6640389 -0.8108118 -0.7104159 -0.7230967  0.44027846 -0.5549157
## am    0.5998324 -0.5226070 -0.5912270 -0.2432043  0.71271113 -0.6924953
## gear  0.4802848 -0.4926866 -0.5555692 -0.1257043  0.69961013 -0.5832870
## carb -0.5509251  0.5269883  0.3949769  0.7498125 -0.09078980  0.4276059
##             qsec         vs          am       gear        carb
## mpg   0.41868403  0.6640389  0.59983243  0.4802848 -0.55092507
## cyl  -0.59124207 -0.8108118 -0.52260705 -0.4926866  0.52698829
## disp -0.43369788 -0.7104159 -0.59122704 -0.5555692  0.39497686
## hp   -0.70822339 -0.7230967 -0.24320426 -0.1257043  0.74981247
## drat  0.09120476  0.4402785  0.71271113  0.6996101 -0.09078980
## wt   -0.17471588 -0.5549157 -0.69249526 -0.5832870  0.42760594
## qsec  1.00000000  0.7445354 -0.22986086 -0.2126822 -0.65624923
## vs    0.74453544  1.0000000  0.16834512  0.2060233 -0.56960714
## am   -0.22986086  0.1683451  1.00000000  0.7940588  0.05753435
## gear -0.21268223  0.2060233  0.79405876  1.0000000  0.27407284
## carb -0.65624923 -0.5696071  0.05753435  0.2740728  1.00000000
sort(cor(mtcars$mpg, mtcars), decreasing = TRUE)
##  [1]  1.0000000  0.6811719  0.6640389  0.5998324  0.4802848  0.4186840
##  [7] -0.5509251 -0.7761684 -0.8475514 -0.8521620 -0.8676594

The variables most strongly correlated with mpg are wt, cyl, and disp. Their correlations with MPG are negative, meaning that cars with greater weight, more cylinders, and larger displacement generally have lower fuel efficiency. Among these variables, wt has the strongest negative correlation with mpg.

5. Check for missing data

colSums(is.na(mtcars))
##  mpg  cyl disp   hp drat   wt qsec   vs   am gear carb 
##    0    0    0    0    0    0    0    0    0    0    0
sum(is.na(mtcars))
## [1] 0

There are no missing values in the mtcars dataset. The code sum(is.na(mtcars)) returns 0, showing that none of the observations contain missing data.

6. Box plots and outliers

boxplot(mtcars,
        main = "Box Plots of mtcars Variables",
        las = 2)

The box plots show that several variables contain potential outliers. For example, mpg, disp, hp, drat, wt, and qsec have observations outside their typical ranges. These points should be examined because they may have a strong effect on later statistical analysis.

7. Range standardization of hp

mtcars$hp_rs <- (mtcars$hp - min(mtcars$hp)) /
                (max(mtcars$hp) - min(mtcars$hp))

min(mtcars$hp_rs)
## [1] 0
max(mtcars$hp_rs)
## [1] 1

The minimum standardized value is 0 and the maximum is 1. This confirms that the range standardization was applied correctly.

8. Winsorize wt at 5%/95%

lower <- quantile(mtcars$wt, 0.05)
upper <- quantile(mtcars$wt, 0.95)

mtcars$wt_win <- pmin(pmax(mtcars$wt, lower), upper)

min(mtcars$wt_win)
## [1] 1.736
max(mtcars$wt_win)
## [1] 5.29275

The wt variable was winsorized using the 5th and 95th percentiles. Values below the 5th percentile were replaced with the 5th percentile, and values above the 95th percentile were replaced with the 95th percentile. The resulting minimum and maximum are reported by the code above.