#Basit Doğrusal Regresyon
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
aslanlar <- data.frame(
species = sample(c("Afrika Aslani", "Asya Aslani"), 344, replace = TRUE),
region = sample(c("Savana", "Milli Park"), 344, replace = TRUE),
paw_width_mm = rnorm(344, 120, 10),
paw_depth_mm = rnorm(344, 50, 5),
body_length_cm = rnorm(344, 200, 20),
body_mass_kg = (rnorm(344, 200, 20) * 0.85) + 30,
sex = sample(c("Erkek", "Disi"), 344, replace = TRUE),
year = sample(2020:2024, 344, replace = TRUE)
)
library(dplyr)
aslanlar_tr <- aslanlar %>%
rename(
tur = species,
bolge = region,
pance_genislik = paw_width_mm,
pance_derinlik = paw_depth_mm,
govde_uzunluk = body_length_cm,
kilo = body_mass_kg,
cinsiyet = sex,
yil = year
)
names(aslanlar_tr)
## [1] "tur" "bolge" "pance_genislik" "pance_derinlik"
## [5] "govde_uzunluk" "kilo" "cinsiyet" "yil"
glimpse(aslanlar_tr)
## Rows: 344
## Columns: 8
## $ tur <chr> "Asya Aslani", "Asya Aslani", "Afrika Aslani", "Afrika …
## $ bolge <chr> "Savana", "Savana", "Savana", "Savana", "Milli Park", "…
## $ pance_genislik <dbl> 104.8736, 118.9158, 122.1887, 119.3549, 112.5816, 112.2…
## $ pance_derinlik <dbl> 46.01271, 48.48530, 49.67333, 48.48747, 46.53967, 49.88…
## $ govde_uzunluk <dbl> 204.3992, 208.8614, 255.8311, 194.8438, 224.1154, 209.1…
## $ kilo <dbl> 248.7726, 215.4227, 221.2781, 157.2114, 219.0867, 206.7…
## $ cinsiyet <chr> "Erkek", "Erkek", "Erkek", "Erkek", "Erkek", "Erkek", "…
## $ yil <int> 2024, 2021, 2024, 2020, 2023, 2024, 2024, 2020, 2020, 2…
names(aslanlar)
## [1] "species" "region" "paw_width_mm" "paw_depth_mm"
## [5] "body_length_cm" "body_mass_kg" "sex" "year"
##Analizde Kullanacağımız İki Değişkeni Seçme
aslanlar_analiz <- aslanlar_tr |>
select(kilo, govde_uzunluk) |>
na.omit()
ggplot(aslanlar_analiz, aes(x = govde_uzunluk, y = kilo)) +
geom_point() +
labs(x = "Gövde Uzunluğu (cm)",
y = "Vücut Ağırlığı (kg)",
title = "Aslanlarda Gövde Uzunluğu ile Vücut Ağırlığı İlişkisi")
##Regresyon Modeli Kurma
aslan_mod <- lm(kilo ~ govde_uzunluk, data = aslanlar_analiz)
summary(aslan_mod)
##
## Call:
## lm(formula = kilo ~ govde_uzunluk, data = aslanlar_analiz)
##
## Residuals:
## Min 1Q Median 3Q Max
## -42.998 -10.785 -0.525 10.395 47.781
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 184.25035 8.62963 21.35 <2e-16 ***
## govde_uzunluk 0.08191 0.04287 1.91 0.0569 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 16.43 on 342 degrees of freedom
## Multiple R-squared: 0.01056, Adjusted R-squared: 0.007666
## F-statistic: 3.65 on 1 and 342 DF, p-value: 0.05692
coef(aslan_mod)
## (Intercept) govde_uzunluk
## 184.2503473 0.0819058
ggplot(aslanlar_analiz, aes(x = govde_uzunluk, y = kilo)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE, color = "red") +
labs(x = "Gövde Uzunluğu (cm)",
y = "Vücut Ağırlığı (kg)",
title = "Aslanlar İçin Basit Doğrusal Regresyon Çizgisi")
## `geom_smooth()` using formula = 'y ~ x'
yeni_aslan <- data.frame(govde_uzunluk = 210)
predict(aslan_mod, newdata = yeni_aslan)
## 1
## 201.4506