R Markdown

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(palmerpenguins)
## Warning: package 'palmerpenguins' was built under R version 4.5.2
## 
## Attaching package: 'palmerpenguins'
## The following objects are masked from 'package:datasets':
## 
##     penguins, penguins_raw
data(penguins)
glimpse(penguins)
## Rows: 344
## Columns: 8
## $ species           <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
## $ island            <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
## $ bill_length_mm    <dbl> 39.1, 39.5, 40.3, NA, 36.7, 39.3, 38.9, 39.2, 34.1, …
## $ bill_depth_mm     <dbl> 18.7, 17.4, 18.0, NA, 19.3, 20.6, 17.8, 19.6, 18.1, …
## $ flipper_length_mm <int> 181, 186, 195, NA, 193, 190, 181, 195, 193, 190, 186…
## $ body_mass_g       <int> 3750, 3800, 3250, NA, 3450, 3650, 3625, 4675, 3475, …
## $ sex               <fct> male, female, female, NA, female, male, female, male…
## $ year              <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…
penguins_tr <- penguins %>% 
rename(
tur = species,
ada = island,
gaga_uzunluk = bill_length_mm,
gaga_derinlik = bill_depth_mm,
yuzgec_uzunluk = flipper_length_mm,
kilo = body_mass_g,
cinsiyet = sex,
yil = year)
names(penguins_tr)
## [1] "tur"            "ada"            "gaga_uzunluk"   "gaga_derinlik" 
## [5] "yuzgec_uzunluk" "kilo"           "cinsiyet"       "yil"
penguins_tr <- penguins_tr |> 
  select(kilo, yuzgec_uzunluk) |> 
  na.omit()
ggplot(penguins_tr, aes(x = yuzgec_uzunluk, y = kilo)) +
  geom_point() +
  labs(x = "Yüzgeç Uzunluğu (mm)",
       y = "Vücut Ağırlığı (gram)",
       title = "Yüzgeç Uzunluğu ile Vücut Ağırlığı İlişkisi")

###soru1 aşağıdaki geom_jitter fonksiyonunun kullanım amacını araştırın. -)Bu grafikte ggplot kullanılarak veri setindeki X ve Y değişkenleri arasındaki ilişki görselleştirilmiştir. Grafik oluşturulurken geom_jitter kullanılmıştır. geom_jitter, normalde üst üste binecek olan noktaları çok küçük ve rastgele miktarlarda kaydırarak grafik üzerinde daha görünür hale getirir. Bu işlem verinin kendisini değiştirmez, sadece görselleştirmenin daha okunur olmasını sağlar. Böylece grafikte gözlemlerin dağılımı ve yoğunluğu daha net bir şekilde görülebilmektedir. Son olarak theme_classic kullanılarak grafik sadeleştirilmiş ve daha temiz bir görünüm elde edilmiştir.

###soru2

ggplot(penguins_tr, aes(x = yuzgec_uzunluk, y = kilo)) +
  geom_jitter(width = 0.3, height = 0.3, alpha = 0.5, color = "steelblue") +
  geom_point(alpha = 0.5, size = 3, color = "steelblue") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(
    x = "Yüzgeç Uzunluğu (mm)",
    y = "Vücut Ağırlığı (gram)",
    title = "Basit Doğrusal Regresyon"
  ) +
  theme_classic() +
  theme_dark()
## `geom_smooth()` using formula = 'y ~ x'

ggplot(penguins_tr, aes(x = yuzgec_uzunluk, y = kilo)) +
  geom_jitter(width = 0.3, height = 0.3, alpha = 0.5, color = "steelblue") +
  geom_point(alpha = 0.5, size = 3, color = "steelblue") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(
    x = "Yüzgeç Uzunluğu (mm)",
    y = "Vücut Ağırlığı (gram)",
    title = "Basit Doğrusal Regresyon"
  ) +
  theme_classic() +
  theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

###soru3

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
tail(mtcars)
##                 mpg cyl  disp  hp drat    wt qsec vs am gear carb
## Porsche 914-2  26.0   4 120.3  91 4.43 2.140 16.7  0  1    5    2
## Lotus Europa   30.4   4  95.1 113 3.77 1.513 16.9  1  1    5    2
## Ford Pantera L 15.8   8 351.0 264 4.22 3.170 14.5  0  1    5    4
## Ferrari Dino   19.7   6 145.0 175 3.62 2.770 15.5  0  1    5    6
## Maserati Bora  15.0   8 301.0 335 3.54 3.570 14.6  0  1    5    8
## Volvo 142E     21.4   4 121.0 109 4.11 2.780 18.6  1  1    4    2
names(mtcars)
##  [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear"
## [11] "carb"
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
is.na(mtcars)
##                       mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear
## Mazda RX4           FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Mazda RX4 Wag       FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Datsun 710          FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Hornet 4 Drive      FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Hornet Sportabout   FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Valiant             FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Duster 360          FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 240D           FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 230            FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 280            FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 280C           FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 450SE          FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 450SL          FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Merc 450SLC         FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Cadillac Fleetwood  FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Lincoln Continental FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Chrysler Imperial   FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Fiat 128            FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Honda Civic         FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Toyota Corolla      FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Toyota Corona       FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Dodge Challenger    FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## AMC Javelin         FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Camaro Z28          FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Pontiac Firebird    FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Fiat X1-9           FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Porsche 914-2       FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Lotus Europa        FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Ford Pantera L      FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Ferrari Dino        FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Maserati Bora       FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Volvo 142E          FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##                      carb
## Mazda RX4           FALSE
## Mazda RX4 Wag       FALSE
## Datsun 710          FALSE
## Hornet 4 Drive      FALSE
## Hornet Sportabout   FALSE
## Valiant             FALSE
## Duster 360          FALSE
## Merc 240D           FALSE
## Merc 230            FALSE
## Merc 280            FALSE
## Merc 280C           FALSE
## Merc 450SE          FALSE
## Merc 450SL          FALSE
## Merc 450SLC         FALSE
## Cadillac Fleetwood  FALSE
## Lincoln Continental FALSE
## Chrysler Imperial   FALSE
## Fiat 128            FALSE
## Honda Civic         FALSE
## Toyota Corolla      FALSE
## Toyota Corona       FALSE
## Dodge Challenger    FALSE
## AMC Javelin         FALSE
## Camaro Z28          FALSE
## Pontiac Firebird    FALSE
## Fiat X1-9           FALSE
## Porsche 914-2       FALSE
## Lotus Europa        FALSE
## Ford Pantera L      FALSE
## Ferrari Dino        FALSE
## Maserati Bora       FALSE
## Volvo 142E          FALSE
any(is.na(mtcars))
## [1] FALSE
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
glimpse(mtcars)
## Rows: 32
## Columns: 11
## $ mpg  <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2, 17.8,…
## $ cyl  <dbl> 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 8,…
## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 140.8, 16…
## $ hp   <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, 180, 180…
## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92, 3.92,…
## $ wt   <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3.150, 3.…
## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 22.90, 18…
## $ vs   <dbl> 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,…
## $ am   <dbl> 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,…
## $ gear <dbl> 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 3, 3,…
## $ carb <dbl> 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1, 1, 2,…
mtcars2 <- mtcars %>%
  rename(
    yakit_tuketimi = mpg,
    silindir_sayisi = cyl,
    motor_hacmi = disp,
    beygir_gucu = hp,
    arka_aks_orani = drat,
    agirlik = wt,
    hizlanma = qsec,
    motor_tipi = vs,
    vites_tipi = am,
    vites_sayisi = gear,
    karburator_sayisi = carb
  )
names(mtcars2)
##  [1] "yakit_tuketimi"    "silindir_sayisi"   "motor_hacmi"      
##  [4] "beygir_gucu"       "arka_aks_orani"    "agirlik"          
##  [7] "hizlanma"          "motor_tipi"        "vites_tipi"       
## [10] "vites_sayisi"      "karburator_sayisi"
model <- lm(yakit_tuketimi ~ agirlik, data = mtcars2)
model <- lm(yakit_tuketimi ~ agirlik, data = mtcars2)
summary(model)
## 
## Call:
## lm(formula = yakit_tuketimi ~ agirlik, data = mtcars2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5432 -2.3647 -0.1252  1.4096  6.8727 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  37.2851     1.8776  19.858  < 2e-16 ***
## agirlik      -5.3445     0.5591  -9.559 1.29e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared:  0.7528, Adjusted R-squared:  0.7446 
## F-statistic: 91.38 on 1 and 30 DF,  p-value: 1.294e-10
ggplot(mtcars2, aes(x = agirlik, y = yakit_tuketimi)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  theme_classic()+
  theme_dark()
## `geom_smooth()` using formula = 'y ~ x'

names(mtcars2)
##  [1] "yakit_tuketimi"    "silindir_sayisi"   "motor_hacmi"      
##  [4] "beygir_gucu"       "arka_aks_orani"    "agirlik"          
##  [7] "hizlanma"          "motor_tipi"        "vites_tipi"       
## [10] "vites_sayisi"      "karburator_sayisi"
coef(mtcars2)
## NULL
###Çalışmanın Amacı 
###Bu çalışmada kendi seçtiğim bir veri seti üzerinde basit doğrusal regresyon analizi yapılmıştır.
###Amaç, bir değişkenin (bağımsız değişken) başka bir değişkeni (bağımlı değişken) açıklayıp açıklamadığını incelemektir.
###Bu kapsamda R programında bulunan mtcars veri seti kullanılmış ve değişkenler daha anlaşılır olması için Türkçeleştirilmiştir. Türkçeleştirilmiş veri seti çalışmada mtcars2 adıyla kullanılmıştır.
###mtcars2 veri setinde her satır bir aracı, her sütun ise araçlara ait bir özelliği temsil etmektedir.
###Bu çalışmada aşağıdaki iki değişken kullanılmıştır:
###Bağımlı değişken (Y): yakit_tuketimi
###-)Araçların yakıt verimliliğini göstermektedir.
###Bağımsız değişken (X): agirlik
###-)Araçların ağırlığını göstermektedir.
###Bu iki değişkenin seçilme nedeni, araç ağırlığının yakıt tüketimi üzerinde etkili olabileceği varsayımıdır.
###Regresyon Modelinin Kurulması
###Araç ağırlığının yakıt tüketimini açıklayıp açıklamadığını incelemek için basit doğrusal regresyon modeli kurulmuştur.
###Değişkenler arasındaki ilişkiyi daha net görebilmek için bir saçılım diyagramı oluşturulmuştur.
###Grafikte her nokta bir aracı temsil etmektedir.Grafikte araç ağırlığı arttıkça yakıt tüketiminin azaldığı görülmektedir. Kırmızı çizgi, regresyon doğrusu olup değişkenler arasındaki genel ilişkiyi göstermektedir.
###Regresyon Sonuçlarının Yorumlanması
###Eğim (Slope)
###Regresyon modelinde agirlik değişkenine ait eğim katsayısı negatiftir.
###Bu durum, araç ağırlığı arttıkça yakıt tüketiminin azaldığını göstermektedir.
###Başka bir ifadeyle, araç ağırlığı bir birim arttığında yakıt verimliliği ortalama olarak düşmektedir. Bu sonuç, beklenen bir durumdur çünkü ağır araçlar genellikle daha fazla yakıt tüketmektedir.
###Kesişim (Intercept)
###Kesişim değeri, araç ağırlığı sıfır olduğunda yakıt tüketiminin alacağı değeri göstermektedir.
###Ancak gerçek hayatta ağırlığı sıfır olan bir araç olmadığı için bu değerin pratik bir anlamı yoktur. Bu değer modelin matematiksel olarak kurulabilmesi için bulunmaktadır.
###R-squared (R²)
###Modelin R-squared (R²) değeri, yakıt tüketimindeki değişimin ne kadarının araç ağırlığı tarafından açıklandığını göstermektedir.
###Elde edilen R² değeri, yakıt tüketimindeki değişimin büyük bir kısmının araç ağırlığı ile açıklanabildiğini göstermektedir. Bu da kurulan regresyon modelinin açıklayıcı gücünün yüksek olduğunu ifade etmektedir.
###Sonuç olarak, mtcars2 veri seti kullanılarak yapılan analizde araç ağırlığının yakıt tüketimini anlamlı bir şekilde açıkladığı görülmüştür. Araç ağırlığı arttıkça yakıt verimliliğinin azaldığı hem regresyon modeli sonuçları hem de oluşturulan grafik ile desteklenmiştir.
###Bu çalışma, basit doğrusal regresyonun nasıl kurulduğunu, nasıl görselleştirildiğini ve elde edilen sonuçların nasıl yorumlandığını göstermektedir.