Korelasyon, iki değişken arasındaki ilişkinin gücünü sayısal olarak ifade etmek olarak tanımlanabilir.
Korelasyon katsayısı, ilişkinin gücünü gösterir ve -1 ile 1 arasında değer alır. Korelasyon katsayısının işareti işareti ise ilişkinin pozitif veya negatif olup olmadığını ifade eder. Korelasyonun değeri 0’a yakın değerler daha zayıf, 1 veya -1’e yakın değerler ise daha güçlü ilişki olarak ifade edilir. Korelasyon r studio’da cor() fonksiyonu ile hesaplanır.
Gerekli Paketlerin Yüklenmesi
library(ggplot2)
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(corrplot)
## Warning: package 'corrplot' was built under R version 4.5.2
## corrplot 0.95 loaded
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.5.2
library(ggExtra)
## Warning: package 'ggExtra' was built under R version 4.5.2
library(GGally)
## Warning: package 'GGally' was built under R version 4.5.2
Diamonds veri seti ggplot2 paketinin içinde yer alan bir veri setidir. 3 Kategorik 7 Numerik olmak üzere toplam 10 değişkene sahiptir. Değişkenler; carat: Elmasın karatı cut: Kesim kalitesi (Fair, Good, Very Good, Premium, Ideal) color: Elmas rengi (J’den D’ye, D en iyi kalite) clarity: Berraklık (I1, SI2, SI1, VS2, VS1, VVS2, VVS1, IF) price: Fiyat (USD) x, y, z: Elmasın boyutları (mm)
data("diamonds")
head(diamonds)
## # A tibble: 6 × 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
glimpse(diamonds)
## Rows: 53,940
## Columns: 10
## $ carat <dbl> 0.23, 0.21, 0.23, 0.29, 0.31, 0.24, 0.24, 0.26, 0.22, 0.23, 0.…
## $ cut <ord> Ideal, Premium, Good, Premium, Good, Very Good, Very Good, Ver…
## $ color <ord> E, E, E, I, J, J, I, H, E, H, J, J, F, J, E, E, I, J, J, J, I,…
## $ clarity <ord> SI2, SI1, VS1, VS2, SI2, VVS2, VVS1, SI1, VS2, VS1, SI1, VS1, …
## $ depth <dbl> 61.5, 59.8, 56.9, 62.4, 63.3, 62.8, 62.3, 61.9, 65.1, 59.4, 64…
## $ table <dbl> 55, 61, 65, 58, 58, 57, 57, 55, 61, 61, 55, 56, 61, 54, 62, 58…
## $ price <int> 326, 326, 327, 334, 335, 336, 336, 337, 337, 338, 339, 340, 34…
## $ x <dbl> 3.95, 3.89, 4.05, 4.20, 4.34, 3.94, 3.95, 4.07, 3.87, 4.00, 4.…
## $ y <dbl> 3.98, 3.84, 4.07, 4.23, 4.35, 3.96, 3.98, 4.11, 3.78, 4.05, 4.…
## $ z <dbl> 2.43, 2.31, 2.31, 2.63, 2.75, 2.48, 2.47, 2.53, 2.49, 2.39, 2.…
summary(diamonds)
## carat cut color clarity depth
## Min. :0.2000 Fair : 1610 D: 6775 SI1 :13065 Min. :43.00
## 1st Qu.:0.4000 Good : 4906 E: 9797 VS2 :12258 1st Qu.:61.00
## Median :0.7000 Very Good:12082 F: 9542 SI2 : 9194 Median :61.80
## Mean :0.7979 Premium :13791 G:11292 VS1 : 8171 Mean :61.75
## 3rd Qu.:1.0400 Ideal :21551 H: 8304 VVS2 : 5066 3rd Qu.:62.50
## Max. :5.0100 I: 5422 VVS1 : 3655 Max. :79.00
## J: 2808 (Other): 2531
## table price x y
## Min. :43.00 Min. : 326 Min. : 0.000 Min. : 0.000
## 1st Qu.:56.00 1st Qu.: 950 1st Qu.: 4.710 1st Qu.: 4.720
## Median :57.00 Median : 2401 Median : 5.700 Median : 5.710
## Mean :57.46 Mean : 3933 Mean : 5.731 Mean : 5.735
## 3rd Qu.:59.00 3rd Qu.: 5324 3rd Qu.: 6.540 3rd Qu.: 6.540
## Max. :95.00 Max. :18823 Max. :10.740 Max. :58.900
##
## z
## Min. : 0.000
## 1st Qu.: 2.910
## Median : 3.530
## Mean : 3.539
## 3rd Qu.: 4.040
## Max. :31.800
##
diamonds_new <-select(diamonds, carat, depth, table, price, x, y, z)
kor <- cor(diamonds_new)
corrplot(kor, method = "color", addCoef.col = "black",
tl.col = "black", tl.srt = 45,
title = "Diamonds - Korelasyon")
Karat ve fiyat arasındaki ilişki çok yüksek, 0.92 civarıdır. x, y, z (taşın hacmi ile ilgili değerler) ve karat arasında çok güçlü pozitif korelasyon vardır. x, y, z ve fiyat arasında 0.88 düzeyinde güçlü ve pozitif bir ilişki söz konusudur
ggcorrplot(kor, hc.order = TRUE, type = "lower", lab = TRUE,
colors = c("red", "white", "blue"),
title = "Diamonds Korelasyon Tablosu")
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ The deprecated feature was likely used in the ggcorrplot package.
## Please report the issue at <https://github.com/kassambara/ggcorrplot/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Yüksek Pozitif Korelasyon Gösteren İlişkiler (Mavi Kareler) Karat ve fiyat (~0.92) Karat ve x/y/z (~0.95 civarı) x/y/z ve fiyat (~0.88–0.89) Fiyat ve taşın boyutları arasında çok güçlü bir ilişki olduğu görülmektedir.
Orta / Zayıf Pozitif Korelasyon Gösteren İlişkiler (Açık Mavi Veya Beyaz Kareler) Yüzey ve diğer değişkenler arasında genellikle 0’a yakın ve zayıf ilişki görülmüştür.
Negatif Korelasyon gösteren ilişkiler (Kırmızı Kareler) derinlik ve x,y boyutları derinlik ve fiyat Taşın derinliği arttıkça fiyat veya boyutlar azalabilir ancak güçlü bir ilişki söz konusu değil.
pairs(diamonds_new,
main = "Elmas Dagilimlar",
pch = 19, col = rgb(0.1, 0.4, 0.7, 0.3))
Karat ile fiyat arasında pozitif doğrusal güçlü bir ilişki görülmektedir. Karat arttıkça fiyatta belirgin şekilde artmaktadır. Derinlik ve fiyat arasında belirgin bir ilişki yoktur. Yüzey ve fiyat arasında belirgin bir ilişki görülmemektedir.
ggpairs(
diamonds,
columns = c("carat", "depth", "table", "price", "x", "y", "z"),
aes(color = cut, alpha = 0.5),
upper = list(continuous = wrap("cor", size = 3)),
title = "Elmas Değisken İliskileri",
progress = FALSE
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.01, face = "bold"),
legend.position = "bottom"
)
#Ne yaptıysam grafiğin içindeki yazıları küçültemedim:(
r <- round(cor(diamonds$carat, diamonds$price), 2)
grafik <- ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(aes(color = cut), alpha = 0.4, shape = 16) +
geom_smooth(method = "lm", color = "red", se = FALSE, linetype = "dashed") +
labs(title = paste("Karat ile Fiyat Arasındaki İlişki (r =", r, ")"),
x = "Karat (carat)",
y = "Fiyat (USD)",
color = "Kesim Kalitesi") +
theme_minimal()
ggMarginal(grafik, type = "boxplot", fill = "lightblue", alpha = 0.5)
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
Karat arttıkça fiyat da artıyor. Korelasyon katsayısı 0.92 ile çok güçlü pozitif ilişkiyi destekliyor. Daha ağır elmaslar genel olarak daha pahalı. Ideal kesim taşlar genellikle orta ve yüksek karatlarda daha fazla yoğunlaşmış ve fiyat olarak da üst sıralarda yer alıyor. Fair ve Good kesim taşlar daha geniş fiyat ve karat aralığında, bazıları daha düşük fiyatlı. Noktaların büyük çoğunluğu lineer regresyon çizgisi etrafında yoğunlaşmış, ancak yüksek karatlarda fiyatlarda daha fazla çeşitlilik (dağılma) var. Boxplotlar incelendiğinde özellikle fiyat için yüksek sayıda uç değer olduğu görülmekte, çok pahalı taşlar mevcut.