Author

Krzysztof Kalicki

Samochód

1 Czym jest mtcars?

Zbiór danych mtcars, jego dane pochodzą z amerykańskiego magazynu “Motor Trend” z 1974 roku i obejmują zużycie paliwa oraz 10 aspektów konsrukcji i osiągów 32 samochodów. Zawiera następujące wartości:

  1. mpg - Mile/galony(1mila=1,61km,1galon=3,79l)
  2. cyl - liczba cylindrów
  3. disp - pojemność skokowa silnika
  4. hp - konie mechaniczne
  5. drat - przełożenie tylnej osi
  6. wt - waga
  7. qsec - czas na 1/4 mili
  8. vs - silnik(0=v-kształtny, 1=prosty)
  9. am - skrzynia biegów(0=automatyczna, 1=manualna)
  10. gear - liczba biegów
  11. carb - ilość gaźników

1.1 mtcars

Code
attach(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

2 Podstawowe informacje o zbiorze mtcars

2.1 Funkcja summary

Code
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  

Funkcja summary dla każdego zbioru wartości oblicza nam odpowiednio minimum, pierwszy kwantyl, mediane, średnią, trzeci kwantyl oraz maksimum. W dalszej części postaram się wyłumaczyć powyższe dane a także rozwinąć je o dodatkowe miary.

Samochód

3 Średnia, mediana oraz odchylenie standardowe

W tej części zademonstruje jak policzyć powyższe statystyki z pomocą danych mpg

Code
srednia=mean(mpg)
mediana=median(mpg)
odchylenie=sd(mpg)
srednia
[1] 20.09062
Code
mediana
[1] 19.2
Code
odchylenie
[1] 6.026948

3.1 Reszta podstawowych funkcji statystycznych

Wariancja

W tym przypadku porównamy wariancje przy założeniu, że liczba cylindrów będzie równa 6 a skrzynia biegów będzie automatyczna:

Code
var(mpg[cyl==6 & am==0])
[1] 2.6625
Code
var(disp[cyl==6 & am==0])
[1] 2001.903
Code
var(hp[cyl==6 & am==0])
[1] 84.25
Code
var(wt[cyl==6 & am==0])
[1] 0.01350625
Code
var(drat[cyl==6 & am==0])
[1] 0.3504
Code
var(qsec[cyl==6 & am==0])
[1] 0.6657
Code
var(vs[cyl==6 & am==0])
[1] 0
Code
var(gear[cyl==6 & am==0])
[1] 0.3333333
Code
var(carb[cyl==6 & am==0])
[1] 3

Rozstęp

Czyli w zasadzie różnica pomiędzy wartością największą a najmniejszą. W tym przypadku porównam dane dla 4 biegów i manualnej skrzyni biegów

Code
max(mpg[gear==4 & am==1])-min(mpg[gear==4 & am==1])
[1] 12.9
Code
max(disp[gear==4 & am==1])-min(disp[gear==4 & am==1])
[1] 88.9
Code
max(hp[gear==4 & am==1])-min(hp[gear==4 & am==1])
[1] 58
Code
max(drat[gear==4 & am==1])-min(drat[gear==4 & am==1])
[1] 1.08
Code
max(wt[gear==4 & am==1])-min(wt[gear==4 & am==1])
[1] 1.26
Code
max(qsec[gear==4 & am==1])-min(qsec[gear==4 & am==1])
[1] 3.44
Code
max(carb[gear==4 & am==1])-min(carb[gear==4 & am==1])
[1] 3

Dominanta

Może i ostatnia w tym punkcie ale nie oznacza to, że najmniej ważna czyli wartość która pojawia się najczęściej

Code
library(modeest)
mfv(cyl)
[1] 8
Code
mfv(disp)
[1] 275.8
Code
mfv(hp)
[1] 110 175 180
Code
mfv(drat)
[1] 3.07 3.92
Code
mfv(wt)
[1] 3.44
Code
mfv(qsec)
[1] 17.02 18.90
Code
mfv(vs)
[1] 0
Code
mfv(am)
[1] 0
Code
mfv(gear)
[1] 3
Code
mfv(carb)
[1] 2 4

4 Pora na wizualizacje

Wykres rozrzutu mili/galon i koni mechanicznych

Code
library(ggplot2)

Dołączanie pakietu: 'ggplot2'
Następujący obiekt został zakryty z 'mtcars':

    mpg
Code
ggplot(mtcars, aes(x = hp, y = mpg)) +
  geom_point(color = "darkgreen") +
  geom_smooth(method = "lm", se = FALSE, color = "forestgreen") + labs(
    title = "Zależność między ilością koni mechaniczny (HP) a MPG",
    x = "liczba koni mechanicznych (HP)",
    y = "Miles per Gallon (MPG)")
`geom_smooth()` using formula = 'y ~ x'

Rozkład zmiennej MPG

Code
ggplot(mtcars, aes(x = mpg)) +
  geom_histogram(binwidth = 2, fill = "darkseagreen", color = "black") +
  labs(
    title = "Rozkład zmiennej MPG",
    x = "Miles per Gallon (MPG)",
    y = "Częstość"
  )

Zależność pomiędzy typem skrzyni biegów a ilością konii mechanicznych

Wykres ten pokazuje jaka różnica występuje pomiędzy automatyczną a manualną skrzynią biegów

Code
boxplot(hp ~ as.factor(am), data = mtcars,
        main = "Porównanie hp i am w zbiorze mtcars",
        xlab = "Typ skrzyni biegów (am)",
        ylab = "ilość koni mechanicznych (hp)",
        col = c("forestgreen", "lightgreen"))

Wykres 3D

Code
library(plotly)
Registered S3 method overwritten by 'httr':
  method         from  
  print.response rmutil

Dołączanie pakietu: 'plotly'
Następujący obiekt został zakryty z 'package:ggplot2':

    last_plot
Następujący obiekt został zakryty z 'package:stats':

    filter
Następujący obiekt został zakryty z 'package:graphics':

    layout
Code
plot_ly(mtcars, 
          x = ~gear, 
          y = ~cyl, 
          z = ~mpg, 
          type = 'scatter3d', 
          mode = 'markers', 
          marker = list(size = 5, color = ~mpg, colorscale = 'Viridis', showscale = TRUE)) %>%
    layout(scene = list(xaxis = list(title = 'Gear'),
                        yaxis = list(title = 'Cyl'),
                        zaxis = list(title = 'MPG')))

5 Podsumowanie

W tym projekcie miałem okazje zaprezentować zbiór “mtcars”, który zawiera naprawdę wiele różnych informacji. W mojej pracy ukazałem zarówno możliwości matematyczne jak i graficzne programu R.

Dziękuje za uwage