📌 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.
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 veri setindeki değişkenlerin
isimlerini Türkçeleştirin ve bu veri setini veri_2 olarak
isimlendirin.veri_2’nin ilk 10 satırını görüntüleyin.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 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.veri_son için yas, nabiz ve boy
değişkenlerininmin
max
1st quarter
3rd quarter
mean
median
yas değişkenine ait mod, medyan
ve aritmetik ortalama değerlerini hesaplayın.if (!requireNamespace(“MASS”, quietly = TRUE)) install.packages(“MASS”) if (!requireNamespace(“dplyr”, quietly = TRUE)) install.packages(“dplyr”) if (!requireNamespace(“janitor”, quietly = TRUE)) install.packages(“janitor”)
library(MASS) # survey veri seti library(dplyr) library(janitor) # temiz isimlendirme (opsiyonel)
data(“survey”, package = “MASS”) # veri yükleme # Orijinal veri: survey # Soru: Sex, Age, Pulse, Exer, Height, Smoke veri_1 <- survey %>% select(Sex, Age, Pulse, Exer, Height, Smoke)
cat(“veri_1 boyutları:”); dim(veri_1) cat(“_1 ilk 6 satır:“); print(head(veri_1))
veri_2 <- veri_1 %>% rename( Cinsiyet = Sex, Yas = Age, Nabiz = Pulse, Egzersiz = Exer, Boy = Height, Sigara = Smoke )
cat(“_2 ilk 6 satır (isimler Türkçe):“); print(head(veri_2))
cat(“_2 ilk 10 satır:“); print(slice(veri_2, 1:10))
recode_exer <- function(x) { x_chr <- as.character(x) x_low <- tolower(x_chr) rec <- dplyr::case_when( grepl(“never|never|no exercise|none”, x_low) ~ “Hiç”, grepl(“some|occas|occasional|sometimes”, x_low) ~ “Ara sıra”, grepl(“frequent|often|freq|frequent exercise|heavy”, x_low) ~ “Sık”, grepl(“light”, x_low) ~ “Hafif”, TRUE ~ NA_character_ ) factor(rec, levels = c(“Hiç”, “Ara sıra”, “Hafif”, “Sık”)) }
recode_smoke <- function(x) { x_chr <- as.character(x) x_low <- tolower(x_chr) rec <- dplyr::case_when( grepl(“never|non-smoker|no”, x_low) ~ “Hiç”, grepl(“occas|some|sometimes”, x_low) ~ “Ara sıra”, grepl(“daily|regular|heavy|yes”, x_low) ~ “Sürekli”, TRUE ~ NA_character_ ) factor(rec, levels = c(“Hiç”, “Ara sıra”, “Sürekli”)) }
veri_3 <- veri_2 %>% mutate( Egzersiz = recode_exer(Egzersiz), Sigara = recode_smoke(Sigara) )
cat(“_3 ilk 10 satır (kategorik etiketler Türkçe):“); print(slice(veri_3, 1:10))
cat(“_3 eksiklik özetleri:“) print(summarise_all(veri_3, ~ sum(is.na(.))))
n_before <- nrow(veri_3) cat(“_3 gözlem sayısı (önce):“, n_before,”“)
veri_son <- veri_3 %>% drop_na() # janitor veya tidyr::drop_na kullanılabilir
n_after <- nrow(veri_son) cat(“veri_son gözlem sayısı (sonra):”, n_after, “”) cat(“Çıkarılan satır sayısı:”, n_before - n_after, “”) cat(“Açıklama: Eksik değerler nedeniyle bazı gözlemler çıkarıldı; veri_son eksiksiz gözlemler içerir.”)
numeric_vars <- c(“Yas”, “Nabiz”, “Boy”)
summary_stats <- veri_son %>% select(all_of(numeric_vars)) %>% summarise_all(.funs = list( min = ~ min(., na.rm = TRUE), max = ~ max(., na.rm = TRUE), q1 = ~ quantile(., probs = 0.25, na.rm = TRUE), q3 = ~ quantile(., probs = 0.75, na.rm = TRUE), mean = ~ mean(., na.rm = TRUE), median = ~ median(., na.rm = TRUE) ))
print(summary_stats)
mean_pulse_by_exer <- veri_son %>% group_by(Egzersiz) %>% summarise( N = n(), mean_nabiz = mean(Nabiz, na.rm = TRUE), sd_nabiz = sd(Nabiz, na.rm = TRUE) ) %>% arrange(desc(N))
cat(“göre ortalama nabiz:”); print(mean_pulse_by_exer)
get_mode <- function(v) { v <- v[!is.na(v)] if (length(v) == 0) return(NA) uniqv <- unique(v) tab <- tabulate(match(v, uniqv)) uniqv[which.max(tab)] }
yas_mode <- get_mode(veri_son\(Yas) yas_median <- median(veri_son\)Yas, na.rm = TRUE) yas_mean <- mean(veri_son$Yas, na.rm = TRUE)
cat(“için mod:”, yas_mode, ” medyan:“, yas_median,” ortalama:“, yas_mean,”“)
cat(“ için örnek veri toplama durumu (örnek açıklama):”) cat(“Örnek: Sosyal medya kullanım süresi üzerine veri toplamak istiyorum.”) cat(“- Kimlerden veri toplanır: 18-30 yaş aralığındaki üniversite öğrencileri (örneklem).”) cat(“- Hangi bilgiler anlamlı olur: günlük sosyal medya kullanım süresi (dakika), cinsiyet, bölüm, uyku süresi, sınav kaygısı düzeyi (Likert), kahve tüketimi.”) cat(“- Değişken türleri: kullanım süresi (sayısal), cinsiyet (kategorik), bölüm (kategorik), sınav kaygısı (ordinal), kahve (sayısal).”) cat(“Bu verilerle frekans tabloları, ortalamalar/medyanlar, gruplaşmış karşılaştırmalar yapılabilir.”)
cat(“frekans tablosu (Egzersiz):”); print(tabyl(veri_son$Egzersiz))