📌 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

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.

library(MASS)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(lsr)  
data("survey")
veri1 <- survey %>% dplyr:: select (Sex, Age, Pulse, Exer, Height, Smoke)

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<- veri1 %>% 
rename(Cinsiyet = Sex,
        Yas = Age,
        Boy = Height,
        Sigara = Smoke,
        Egzersiz = Exer,
        Nabiz = Pulse)

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,
                      "Male" = "Erkek",
                      "Female" = "Kadın"),
 
    Egzersiz = recode(Egzersiz,
                      "None" = "Hic",
                      "Some" = "Bazen",
                      "Freq" = "Sık"),
                      
 
    Sigara = recode(Sigara,
                      "Never" = "Hic",
                      "Occas" = "Ara Sıra",
                      "Regul" = "Duzenli",
                      "Heavy" = "Fazla")
  )

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.

colSums(is.na(veri_3))
## Cinsiyet      Yas    Nabiz Egzersiz      Boy   Sigara 
##        1        0       45        0       28        1
veri_son <- na.omit(veri_3)

#survey veri setinde (dolayısıyla veri_3’te) başlangıçta 237 gözlem yer almaktadır. na.omit() uygulandığında eksik değer barındıran tüm satırlar kaldırıldığı için, veri_son adlı veri setinde gözlem sayısı 170’e düşmektedir. Bu da toplamda 67 gözlemin (237 - 170) veri setinden çıkarıldığı anlamına gelir.

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   Hic  :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  
##                
## 

#yaş (Yas) değişkeninde, dağılım minimum 16.92 ile maksimum 70.42 yıl arasında değişmekte olup, medyan (18.58) değerinin aritmetik ortalamadan (20.46) belirgin şekilde düşük olması, dağılımın pozitif çarpık (sağa çarpık) olduğunu göstermektedir.Yaşın %50’si 17.67 (1st Quarter) ve 20.17 (3rd Quarter) yıl arasındadır.

#nabız (Pulse) değerleri minimum 35.00 ve maksimum 104.00 arasında olup, medyan (72.00) ve ortalama (73.92) değerleri arasındaki yakınlık, dağılımın hafifçe pozitif çarpık olduğunu ima eder. Nabız değerlerinin yayılımı 1. çeyrekte 66.25 ve 3. çeyrekte 80.00’dir.

#boy (Height) değişkeni ise minimum 152.0 cm ile maksimum 200.0 cm arasında değişmektedir; medyan (171.0) ve ortalama (172.5) değerlerinin birbirine oldukça yakın olması, boy dağılımının nispeten simetrik bir yapıya sahip olduğunu göstermektedir. Boy uzunlukları için 1. çeyrek 165.0 cm ve 3. çeyrek 180.0 cm’dir.

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 Hic                75.9
## 3 Bazen              76.6

#Egzersiz yapma sıklığına göre hesaplanan ortalama nabız değerlerine bakıldığında, egzersiz sıklığı arttıkça nabız ortalamasının düştüğü görülmektedir. En düşük ortalama nabız, 71.43 ile egzersizi sık yapan grupta bulunmuştur. Buna karşılık, en yüksek ortalama nabız değerleri egzersizi bazen yapanlarda (76.59) ve hiç yapmayanlarda (75.86) ortaya çıkmıştır. Bu sonuçlar, düzenli egzersizin nabız üzerinde belirgin bir etkisi olduğunu göstermektedir.

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

library (lsr) 

cat("Aritmetik Ortalama:", mean(veri_son$Yas), "\n")
## Aritmetik Ortalama: 20.46377
cat("Medyan:", median(veri_son$Yas), "\n")
## Medyan: 18.583
cat("Mod:", modeOf(veri_son$Yas), "\n")
## Mod: 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.

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.

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

  • 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.

#ARAŞTIRMA DURUMU: İŞ HAYATINDAKİ MOBBİNGİN BİREYDEKİ ETKİLERİ: # A.KİMLERDEN VERİ TOPLAYABİLİRİZ: # 1.Mobbing Mağdurları # 2.Çalışanlar # 3.İnsan Kaynakları (İK) Uzmanları / Yönetim

B.VERİ TOPLADIĞIMIZ KİŞİLERDEN HANGİ BİLGİLERİ ALMANIN ANLAMLI OLACAĞINI:

1.Psikolojik Etkiler[Örneğin;Stres düzeyi, anksiyete, depresif belirtiler, tükenmişlik düzeyi, iş tatmini.]

2.Fiziksel/Fizyolojik Etkiler[Örneğin;Uyku kalitesi, kronik baş ağrıları, nabız, egzersiz sıklığı.]

3.Demografik Bilgiler[Örneğin;Yaş, cinsiyet, eğitim düzeyi, medeni durum, iş tecrübesi, mevcut pozisyon.]

C.TOPLAYACAĞIMIZ BİLGİLER KAPSAMINDA DEĞİŞKENLERİN TÜRLERİ:

1.Kategorik Değişkenler (Nominal veya Sıralı)

2.Sayısal Değişkenler (Aralık veya Oran)

D.TOPLADIĞIMIZ VERİLERİ GÖZ ÖNÜNDE BULUNDURARAK FREKANS TABLOSU OLUŞTURABİLECEĞİMİZ ÜÇ DEĞİŞKEN:

1.Stres Düzeyi(Psikolojik Etkiler)

2.Uyku Kalitesi(Fiziksel/Fizyolojik Etkiler)

3.Eğitim Düzeyi(Demografik Bilgiler)

library(MASS)  
library(dplyr) 
library(dplyr)

veri_son <- veri_son %>%
  mutate(
    stres = sample(c("Dusuk", "Orta", "Yuksek"), nrow(veri_son), replace = TRUE),
    uyku_kalitesi = sample(c("Kotu", "Orta", "Iyi"), nrow(veri_son), replace = TRUE),
    egitim_duzeyi = sample(c("Ilkokul", "Lise", "Universite"), nrow(veri_son), replace = TRUE)
  )

# FREKANS TABLOLARI

veri_son %>% 
  count(stres) %>% 
  mutate(yuzde = round(n / sum(n) * 100, 2))
##    stres  n yuzde
## 1  Dusuk 49 28.82
## 2   Orta 59 34.71
## 3 Yuksek 62 36.47
veri_son %>% 
  count(uyku_kalitesi) %>% 
  mutate(yuzde = round(n / sum(n) * 100, 2))
##   uyku_kalitesi  n yuzde
## 1           Iyi 59 34.71
## 2          Kotu 60 35.29
## 3          Orta 51 30.00
veri_son %>% 
  count(egitim_duzeyi) %>% 
  mutate(yuzde = round(n / sum(n) * 100, 2))
##   egitim_duzeyi  n yuzde
## 1       Ilkokul 60 35.29
## 2          Lise 62 36.47
## 3    Universite 48 28.24
set.seed(123)
veri_son <- data.frame(
  stres_skor = sample(1:10, 170, replace = TRUE),
  uyku_suresi = round(runif(170, 4, 10), 1),
  yas_skor = round(rnorm(170, 30, 8), 0)
)


mod <- function(x) {
  ux <- unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}


ozet <- function(x) {
  c(
    min = min(x),
    Q1 = quantile(x, 0.00),
    median = median(x),
    mean = mean(x),
    Q3 = quantile(x, 0.00),
    max = max(x),
    mod = mod(x)
  )
}

istatistikler <- sapply(veri_son[, c("stres_skor", "uyku_suresi", "yas_skor")], ozet)
istatistikler <- as.data.frame(t(istatistikler))
istatistikler
##             min Q1.0% median      mean Q3.0% max  mod
## stres_skor    1     1    6.0  6.164706     1  10  9.0
## uyku_suresi   4     4    6.7  6.885882     4  10  4.6
## yas_skor     10    10   30.0 30.352941    10  51 31.0