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.