📌 Aşağıda 5 soru bulunmaktadır. İlk 4 soruyu ders notlarınızdan faydalanarak yapabilirsiniz. Sadece dosyayı yayınlarken hata aldığınız durumlarda hata kodunu anlamak için yapay zekadan destek alabilirsiniz. Tüm soruları yapay zekaya yaptırdığınız tespit edilirse sınavınız geçersiz sayılacaktır.

📌 Son soru 30 puan değerinde olup kendi deneyimlerinizden yola çıkarak yanıtlayabileceğiniz bir sorudur. Farklı sınav kağıtlarında birbirinin aynısı yanıtlar tespit edilmesi durumunda ilgili öğrencilerin sınavları geçersiz sayılacaktır.

📌 Sınavınızı 29 Kasım 2025 Cumartesi günü saat 11’e kadar Rpubs hesaplarınızda yayınlamanız gerekmektedir. Teslim tarihinden geç yayınlanan dosyalar değerlendirmeye dahil edilmeyecektir.

Soruları yanıtlamak için aşağıdaki paketleri etkinleştirin:

  • dplyr

  • MASS

  • lsr

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(MASS)
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
library(lsr)

survey veri seti, bir grup üniversite öğrencisinden toplanmış bilgiler içerir. Değişkenler arasında yaş, cinsiyet, boy, nabız, egzersiz sıklığı gibi psikolojik ve fizyolojik özellikler vardır. Bu veri seti University of Adelaide öğrencilerinden toplanmış bir anket çalışmasından gelir. Veri seti 237 gözlem ve 12 değişkenden oluşur.

Soru 1: Bu veri setini etkinleştirerek Sex (cinsiyet)“,”Age (yaş)“,”Pulse (nabiz)” ve “Exer (egzersiz)”, “Height (boy)”, “Smoke (sigara) değişkenlerini seçin. Seçtiğiniz bu değişkenlerden oluşan veri setini veri_1 olarak isimlendirin.

veri_1<-survey %>% 
  dplyr::select(Sex, Age, Pulse, Exer, Height, Smoke)
head(veri_1)
##      Sex    Age Pulse Exer Height Smoke
## 1 Female 18.250    92 Some 173.00 Never
## 2   Male 17.583   104 None 177.80 Regul
## 3   Male 16.917    87 None     NA Occas
## 4   Male 20.333    NA None 160.00 Never
## 5   Male 23.667    35 Some 165.00 Never
## 6 Female 21.000    64 Some 172.72 Never

Soru 1.1: veri_1 veri setindeki değişkenlerin isimlerini Türkçeleştirin ve bu veri setini veri_2 olarak isimlendirin.

veri_2<-veri_1 %>% 
  rename(cinsiyet= Sex,
         yas=Age,
         boy=Height,
         sigara=Smoke,
         egzersiz=Exer,
         nabiz=Pulse)
head(veri_2)
##   cinsiyet    yas nabiz egzersiz    boy sigara
## 1   Female 18.250    92     Some 173.00  Never
## 2     Male 17.583   104     None 177.80  Regul
## 3     Male 16.917    87     None     NA  Occas
## 4     Male 20.333    NA     None 160.00  Never
## 5     Male 23.667    35     Some 165.00  Never
## 6   Female 21.000    64     Some 172.72  Never
names(veri_2)
## [1] "cinsiyet" "yas"      "nabiz"    "egzersiz" "boy"      "sigara"

Soru 1.2: veri_2’nin ilk 10 satırını görüntüleyin.

head(veri_2,10)
##    cinsiyet    yas nabiz egzersiz    boy sigara
## 1    Female 18.250    92     Some 173.00  Never
## 2      Male 17.583   104     None 177.80  Regul
## 3      Male 16.917    87     None     NA  Occas
## 4      Male 20.333    NA     None 160.00  Never
## 5      Male 23.667    35     Some 165.00  Never
## 6    Female 21.000    64     Some 172.72  Never
## 7      Male 18.833    83     Freq 182.88  Never
## 8    Female 35.833    74     Freq 157.00  Never
## 9      Male 19.000    72     Some 175.00  Never
## 10     Male 22.333    90     Some 167.00  Never

Soru 2: veri_2 veri setindeki kategorik değişkenlerin etiketlerini (örn. never, some, heavy) Türkçeleştirin ve bu veri setini veri_3 olarak isimlendirin.

veri_3<-veri_2 %>% 
  mutate(
    cinsiyet=recode(cinsiyet,
                    "Female"="Kadın",
                    "Male"="Erkek"),
    egzersiz=recode(egzersiz,
                    "None"="Yok",
                    "Some"="Bazen",
                    "Freq"="Sık"),
    sigara=recode(sigara,
                  "Never"="Hic",
                  "Occas"="Ara Sıra",
                  "Regul"="Duzenli",
                  "Heavy"="Fazla")
  )
head(veri_3)
##   cinsiyet    yas nabiz egzersiz    boy   sigara
## 1    Kadın 18.250    92    Bazen 173.00      Hic
## 2    Erkek 17.583   104      Yok 177.80  Duzenli
## 3    Erkek 16.917    87      Yok     NA Ara Sıra
## 4    Erkek 20.333    NA      Yok 160.00      Hic
## 5    Erkek 23.667    35    Bazen 165.00      Hic
## 6    Kadın 21.000    64    Bazen 172.72      Hic

Soru 3: veri_3 veri setindeki eksik değerleri sorgulayın. Eksik değer varsa çıkarın ve gözlem sayısındaki farkı açıklayın. Veri setinin son halini veri_son olarak isimlendirin.

any(is.na(veri_3))
## [1] TRUE
colSums(is.na(veri_3))
## cinsiyet      yas    nabiz egzersiz      boy   sigara 
##        1        0       45        0       28        1
veri_son<-na.omit(veri_3)

Soru 4: veri_son için yas, nabiz ve boy değişkenlerinin

  • min

  • max

  • 1st quarter

  • 3rd quarter

  • mean

  • median

değerlerini açıklayın.

summary(veri_son)
##   cinsiyet       yas            nabiz         egzersiz       boy       
##  Kadın:85   Min.   :16.92   Min.   : 35.00   Sık  :86   Min.   :152.0  
##  Erkek:85   1st Qu.:17.67   1st Qu.: 66.25   Yok  :14   1st Qu.:165.0  
##             Median :18.58   Median : 72.00   Bazen:70   Median :171.0  
##             Mean   :20.46   Mean   : 73.92              Mean   :172.5  
##             3rd Qu.:20.17   3rd Qu.: 80.00              3rd Qu.:180.0  
##             Max.   :70.42   Max.   :104.00              Max.   :200.0  
##       sigara   
##  Fazla   :  7  
##  Hic     :136  
##  Ara Sıra: 13  
##  Duzenli : 14  
##                
## 

Soru 4.1: Egzersiz sıklığına göre ortalama nabzı hesapladığınız bir tablo oluşturun. Bu tablodaki değerlerin açıklamasını yazın.

veri_son %>% 
  group_by(egzersiz) %>% 
  summarise(ortalama_nabiz=round(mean(nabiz),2))
## # A tibble: 3 × 2
##   egzersiz ortalama_nabiz
##   <fct>             <dbl>
## 1 Sık                71.4
## 2 Yok                75.9
## 3 Bazen              76.6

Tabloya göre egzersiz sıklığı arttıkça ortalama nabız değeri azalmaktadır.

Egzersiz yapmayanlarda ortalama nabız 75.86

Bazen egzersiz yapanlarda ortalama nabız 76.59

Sık egzersiz yapanlarda ortalama nabız 71.43

Soru 4.2: veri_son için yas değişkenine ait mod, medyan ve aritmetik ortalama değerlerini hesaplayın.

mean(veri_son$yas)
## [1] 20.46377
median(veri_son$yas)
## [1] 18.583
library(lsr)
modeOf(veri_son$yas)
## [1] 17.5

Soru 5: Günlük yaşamınızda veri toplayarak analiz etmek isteyebileceğiniz bir durum düşünün (sosyal medya kullanım süresi, kahve tüketimi, sınav kaygısı…). Bu durumu kısaca açıklayın.

Günlük kahve tüketimini analiz ederek insanların kahve içme alışkanlıklarını incelemek istiyorum.

Bu durumla ilgili

  • kimlerden veri toplayabileceğinizi,

  • veri topladığınız kişilerden hangi bilgileri almanın anlamlı olacağını,

  • toplayacağınız bilgiler kapsamında değişkenlerin türlerini

açıklayın.

Kimlerden veri toplanabilir

- Üniversite öğrencileri

- Çalışan yetişkinler

- Kahve tüketen genel yetişkinler

- kafe veya kahve dükkanı müşterileri

Anlamlı bilgiler ve değişken türleri

cinsiyet (Kadın/Erkek) -> kategorik

yas (sayı) -> sayısal

günlük kahve tüketim miktarı (fincan/sayı) -> sayısal

haftalık kahve tüketimi (fincan) -> sayısal

kahve türü tercihi (espresso, filtre, latte, cappuccino vb.) -> kategorik

kahve içme zamanı (sabah/öğle/gece) -> kategorik

kafe veya evde tüketim (kafe/ev) -> Kategorik

  • Topladığınız verileri göz önünde bulundurarak frekans tablosu oluşturabileceğiniz üç değişken tanımlayın.

cinsiyet -> kadın/erkek

amaç: cinsiyete göre kahve tüketimi dağılımını görmek

kod: table(veri$cinsiyet)

kahve türü -> espresso/filtre/latte/cappuccino vb.

amaç: hangi kahve türünün daha çok tercih edildiğini görmek

kod: table(veri$kahve_turu)

kahve tüketim grupları -> 0-1/2-3/4+ fincan

amaç: günlük kahve tüketim sıklığını kategorik olarak analiz etmek

kod: table(veri$kahve_fincan_grup)

  • Topladığınız verileri göz önünde bulundurarak min, max, quarters, mod, median, mean değerlerini hesaplayabileceğiniz üç değişken tanımlayın.

yaş -> sayısal

amaç: yaş dağılımı ve istatistiklerini incelemek

kod: summary(veri\(yas), mean(veri\)yas)

günlük kahve miktarı(fincan) -> sayısal

amaç: ortalama, medyan, min, max, quartiles, mod değerlerini hesaplamak

kod: summary(veri\(kahve_fincan), mean(veri\)kahve_fincan)

haftalık kahve miktarı (fincan) -> sayısal (eğer toplandıysa)

amaç: haftalık tüketim alışkanlıklarını incelemek

kod: summary(veri\(kahve_fincan_hafta), mean(veri\)kahve_fincan_hafta)