## geom_jitter() ggplot2 paketinde kullanılan ve üst üste binen gözlemleri ayırt edilebilmesi amacıyla küçük sapmalarla gösteren veri setidir.
library(tidyverse)
## Warning: package 'dplyr' was built under R version 4.5.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.1 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.0 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(broom)
library(dplyr)
library(ggplot2)
data("iris")
names(iris)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
glimpse(iris)
## Rows: 150
## Columns: 5
## $ Sepal.Length <dbl> 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.…
## $ Sepal.Width <dbl> 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.…
## $ Petal.Length <dbl> 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.…
## $ Petal.Width <dbl> 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.…
## $ Species <fct> setosa, setosa, setosa, setosa, setosa, setosa, setosa, s…
iris_tr <- iris %>%
rename(
canak_uzunluk = Sepal.Length,
canak_genislik = Sepal.Width,
tac_uzunluk = Petal.Length,
tac_genislik = Petal.Width,
tur = Species)
# isimler rename() fonksiyonu ile Türkçeleştirildi.
names(iris_tr)
## [1] "canak_uzunluk" "canak_genislik" "tac_uzunluk" "tac_genislik"
## [5] "tur"
iris_tr <- iris_tr |>
select(canak_uzunluk, tac_uzunluk) |>
na.omit()
# çanak uzunluk ve taç uzunluk arasındaki ilişkiyi inceleyeceğiz.
ggplot(iris_tr , aes( x= canak_uzunluk, y=tac_uzunluk)) +
geom_point()+
labs(x= "Taç Uzunluğu (cm)",
y= "Çanak Uzunluğu (cm)",
title=" Taç Uzunluğu ile Çanak Uzunluğu İlişkisi")
### Çanak Uzunluğu arttıkça Taç Uzunluğu da artıyor, bu grafik aralarındaki ilişkiyi görmeyi sağlar.
iris_mod <- lm(canak_uzunluk ~ tac_uzunluk , data = iris_tr)
summary(iris_mod)
##
## Call:
## lm(formula = canak_uzunluk ~ tac_uzunluk, data = iris_tr)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.24675 -0.29657 -0.01515 0.27676 1.00269
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.30660 0.07839 54.94 <2e-16 ***
## tac_uzunluk 0.40892 0.01889 21.65 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4071 on 148 degrees of freedom
## Multiple R-squared: 0.76, Adjusted R-squared: 0.7583
## F-statistic: 468.6 on 1 and 148 DF, p-value: < 2.2e-16
Çiçeğin taç yaprak uzunluğu 1 cm arttığında, çanak yaprak uzunluğunun beklenen artışı yaklaşık 0.41 cm olur.
İstatistikselolarak anlamlı bir ilişki vardır.
Kesişim: Taç yaprak uzunluğu 0 cm olsaydı, çanak yaprak uzunluğu başlangıç noktası 4.30 cm olurdu.
Tahmin Hatası: Modelin yaptığı tahminler ile gerçek çiçek lçümleri arasında 0.40 cm fark var.
Modelin Başarısı: Multiple R-Squared 0.76 modelin oldukça yüksek açıklayıcılık gücüne sahip olduğunu gösteriyor. Değişimin %76’sı taç yaprak uzunluğu ile açıklanabiliyor.
coef(iris_mod)
## (Intercept) tac_uzunluk
## 4.3066034 0.4089223
# bu değerler kesişim ve eğim değerlerini verir.
ggplot( iris_tr , aes(x = canak_uzunluk , y= tac_uzunluk)) +
geom_point() +
geom_smooth( method = "lm", se = FALSE, color = "pink") +
labs(x= "Taç Uzunluğu (cm)",
y= "Çanak Uzunluğu (cm)",
title="Basit Doğrusal Regresyon Çizgisi")
## `geom_smooth()` using formula = 'y ~ x'
yeni_cicek <- data.frame(tac_uzunluk = 5)
predict(iris_mod , newdata = yeni_cicek)
## 1
## 6.351215
taç uzunluğu 5 olan bir çiçeğin beklenen çanak uzunluğunu hesaplar.
Şimdi ise theme_classic fonksiyonunun alternatiflerini deneyelim.
ggplot(iris_tr , aes(x = tac_uzunluk, y = canak_uzunluk)) +
geom_jitter()+
theme_minimal()
ggplot(iris_tr , aes(x = tac_uzunluk, y = canak_uzunluk)) +
geom_jitter()+
theme_bw()
geom_point fonksiyonu yerine geom_jitter yazarak üst üste binmiş değerleri de görebilmeyi sağladık.