# Paketleri yükle
library(readxl)
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)
# Veri setini okuma
data <- read_excel("C:/Users/User/Downloads/student-mat.xlsx")
# Alıştırma 1
head(data)
## # A tibble: 6 × 33
## school sex age address famsize Pstatus Medu Fedu Mjob Fjob reason
## <chr> <chr> <dbl> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr>
## 1 GP F 18 U GT3 A 4 4 at_home teacher course
## 2 GP F 17 U GT3 T 1 1 at_home other course
## 3 GP F 15 U LE3 T 1 1 at_home other other
## 4 GP F 15 U GT3 T 4 2 health servic… home
## 5 GP F 16 U GT3 T 3 3 other other home
## 6 GP M 16 U LE3 T 4 3 services other reput…
## # ℹ 22 more variables: guardian <chr>, traveltime <dbl>, studytime <dbl>,
## # failures <dbl>, schoolsup <chr>, famsup <chr>, paid <chr>,
## # activities <chr>, nursery <chr>, higher <chr>, internet <chr>,
## # romantic <chr>, famrel <dbl>, freetime <dbl>, goout <dbl>, Dalc <dbl>,
## # Walc <dbl>, health <dbl>, absences <dbl>, G1 <dbl>, G2 <dbl>, G3 <dbl>
# Belirli sütunları seçelim
veri1 <- select(data, sex, age, studytime, G1, G2, G3)
# Final notu 15'den büyük olan öğrencileri filtreleyelim
veri2 <- filter(veri1, G3 > 15)
# Yeni bir sütun oluşturalım: Ortalama başarı
veri3 <- mutate(veri2, ortalama = (G1 + G2 + G3) / 3)
# Cinsiyete göre ortalama başarıyı hesaplayalım
veri4 <- veri3 %>%
group_by(sex) %>%
summarise(ortalama_basari = mean(ortalama))
# Başarıya göre sıralayalım
veri5 <- arrange(veri4, desc(ortalama_basari))
# Alıştırma 2
#Grafik 1
ggplot(data, aes(x = G3)) +
geom_histogram(bins = 20, fill = "skyblue", color = "black") +
labs(title = "Öğrencilerin Final Notlarının Dağılımı",
x = "Final Notu",
y = "Frekans")
#Histogram grafiğine göre öğrencilerin çoğunun final notlarının 10–15
arasında yoğunlaştığı görülüyor.
#Grafik 2
ggplot(data, aes(x = studytime, y = G3, color = sex)) +
geom_point(size = 3) +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Ders calisma suresi ile basari arasindaki iliski",
x = "Calisma Suresi",
y = "Final Notu",
color = "Cinsiyet")
## `geom_smooth()` using formula = 'y ~ x'
#Çalışma süresi arttıkça başarı notunun yükseldiğini grafikte
görmekteyiz.