Amaç

Bu ödevin amacı, öğrencilerin bir veri setindeki değişkenler arasındaki ilişkiyi görselleştirerek: ilişki biçimini (doğrusal / doğrusal olmayan), yönünü (pozitif / negatif), ve gücünü (zayıf / orta / güçlü) belirlemeleridir. - Dr. Kübra ATALAY KABASAKAL 

Kaynaklardan Çalışma Notlarım

1. Görselleştirme Paketleri ve Fonksiyonlar

Paket / Fonksiyon Kullanım Alanı Pratik Not
ggplot2 Katmanlı grafikler (scatter, bar, boxplot, histogram vs.) geom_point(), geom_boxplot(), geom_histogram() ile grafik türü belirlenir.
aes() Değişkenleri estetiklerle eşleme aes(color = CINSIYET) → değişkene göre renk, aes(size=) → nokta boyutu
geom_smooth(method="lm") Regresyon eğrisi ekleme stat_regline_equation() ile regresyon denklemi gösterilebilir
facet_wrap(~ değişken) / facet_grid() Alt gruplar için çoklu panel Gruplar arası örüntüleri görselleştirmek için
geom_bar(position="dodge") Yan yana çubuk grafik position="fill" → oransal karşılaştırma
geom_jitter() Overplotting çözümü Noktaların çakışmasını önler, küçük rastgele kaydırma ekler
geom_col(width=1) + coord_polar("y") Pasta grafiği oluşturma label = scales::percent() ile yüzdelik etiket eklenir
plotly Etkileşimli grafikler plot_ly(x=, y=, type="scatter"), add_lines(), layout()

Bu tabloyu hazırlarken, R’da veri görselleştirmenin temel mantığını ve ggplot2’nin katmanlı yapısını daha iyi kavradığımı fark ettim. Özellikle farklı geom fonksiyonlarının ve aes estetiklerinin nasıl çalıştığını tablo hâlinde görmek, hangi grafiği hangi amaçla kullanacağımı hızlıca hatırlamamı sağlıyor. Pasta grafikleri ve etkileşimli plotly görselleştirmelerini de buradan ilişkilendirmek, veri sunumlarımda daha yaratıcı ve etkili grafikler tasarlamamı mümkün kıldı. Tablo sayesinde grafik oluştururken karşılaşabileceğim detayları önceden planlayabiliyorum.

2. Veri Dönüşümü ve Hazırlama (dplyr / tidyverse)

Fonksiyon Kullanım Pratik Not
mutate() Yeni değişken ekleme Mevcut değişkenler korunur
transmute() Yeni değişken ekleme + eski değişkenleri çıkarma Karmaşık veri setlerinde temiz kullanım
summarise(across(...)) Çoklu değişkene özet istatistik mean(), sd(), min(), max()
distinct() Tekil değerleri alma Kolon bazında tekrarları filtreler
count(a,b, sort=TRUE) Kontenjans tablosu Gruplar arası frekans sayımı
filter(), na.omit() Veri filtreleme Kayıp veya istenmeyen gözlemleri çıkarır
droplevels() Kullanılmayan faktörleri silme Kategorik değişkenler için
relocate(.before=, .after=) Kolon sırası değiştirme mutate() ile birlikte kullanılabilir
if_else(), case_when() Koşullu değişken oluşturma Mantıksal kontrol ile yeni değer atama
select(), rename() Kolon seçme / isim değiştirme starts_with(), num_range() ile kombinlenebilir
join() Veri setlerini birleştirme left_join(), inner_join(), full_join() vs.

Bu tabloyu hazırlarken, veri hazırlama sürecinin ne kadar kritik olduğunu bir kez daha gördüm. mutate, transmute ve across fonksiyonlarını tablo hâlinde düzenlemek, karmaşık veri setleriyle çalışırken kafamı toparlamamı sağladı. join ve filter gibi fonksiyonların işlevlerini buradan görmek, veri setlerini birleştirme veya temizleme aşamalarında hatasız ilerlememe yardımcı oluyor. Ayrıca if_else ve case_when örneklerini tabloya eklemem, koşullu veri manipülasyonu yaparken bana pratik bir rehber sunuyor.

3. Korelasyon ve Regresyon

Fonksiyon / Paket Kullanım Pratik Not
cor(x, y) Pearson korelasyonu Basit korelasyon katsayısı
Hmisc::rcorr() Korelasyon + p-değeri Çoklu değişkenler için uygun
corrplot() Korelasyon matrisi görselleştirme Renk ve yoğunluk ile özet
PerformanceAnalytics::chart.Correlation() Grafik + korelasyon Çoklu değişkenleri hızlı görselleştirme
GGally::ggpairs() Çok değişkenli scatterplot matrisi Korelasyon, dağılım ve yoğunluk aynı anda

Bu tabloyu hazırlarken, farklı analiz türleri için hangi paket ve fonksiyonları kullanmam gerektiğini netleştirmiş oldum. Pearson korelasyonu, regresyon eğrileri ve korelasyon matrislerini tablo hâlinde görmek, analiz planlamasında hızlı ve doğru karar vermemi sağlıyor. Özellikle çoklu değişken analizi için GGally ve PerformanceAnalytics paketlerini karşılaştırmak, hangi durumda hangi aracın daha uygun olduğunu anlamamı kolaylaştırdı. Bu tablo, hem sayısal hem de görsel analizleri entegre etme becerimi geliştirdi.

4. Ek Fonksiyonlar ve Pratik Notlar

Fonksiyon Kullanım Not
round(), mean(), median(), var(), sd() Temel istatistik Tek değişken için hızlı özet
IQR(), quantile() Çeyrekler ve aralık Veri dağılımı analizi
log(), scale_x_log10() Log dönüşümü Skala dönüşümleri
sample_n(veri, n) Alt örnek alma Büyük veri setlerinde görselleştirme kolaylığı
geom_dotplot(dotsize=) Nokta grafiği Histograma benzer, yalnızca x ekseni
geom_density(bw=) Yoğunluk grafiği Bandwidth ile yoğunluk detayını ayarlama
ggridges::geom_density_ridges() Çoklu yoğunluk grafiği Verilerin üst üste binmesini engeller

Bu tabloyu hazırlarken, veri hazırlama ve görselleştirme öncesi küçük ama kritik fonksiyonları hatırlamam kolaylaştı. round, mean, sd gibi temel istatistikler kadar log dönüşümü ve sample_n gibi pratik fonksiyonları tablo hâlinde görmek, günlük veri analizlerinde işimi oldukça kolaylaştırıyor. Ayrıca yoğunluk ve nokta grafikleri gibi farklı görselleştirme tekniklerini tabloya eklemek, veriyi çeşitli açılardan değerlendirmemi sağladı. Bu tablo, R’daki küçük ama etkili detayları kavramamda ve kendi analiz rutinimi oluşturmakta bana rehberlik etti.

Uygulama Görevleri

1. Veri Seti Seçme, Düzenleme ve Tanıtma

İlgili veri seti (veri = benlik_hazır.sav) danışmanlığını Arş. Gör. Meltem Atasoy’un yürütmekte olduğu Fatma Çınar ve Beyza Bozkurt’a ait TÜBİTAK 2209-A projesi “Öğretmen Adaylarının Olası Benlikleri ile Hazırbulunuşlukları Arasındaki İlişki” adlı araştırmaya aittir.

veri <- read_sav("benlik_hazır.sav")

veri <- veri %>%
  mutate(cinsiyet = factor(cinsiyet,
                           levels = c(1, 2, 3),
                           labels = c("Kadın", "Erkek", "Belirtmek istemiyorum")),
         lisans = factor(lisans,
                         levels = c(1, 2, 3, 4, 5, 6),
                         labels = c("sinif", "okuloncesi", "matematik", "fen", "sosyal", "turkce")),
         yas = factor(yas,
                      levels = c(1, 2, 3),
                      labels = c("18-20", "21-23", "24-26+")),
         sınıf = factor(sınıf,
                        levels = c(3, 4),
                        labels = c("3.sınıf", "4.sınıf")))

head(veri, 2)
## # A tibble: 2 × 94
##     kod cinsiyet yas   sınıf   lisans   not    B1    B2    B3    B4    B5    B6
##   <dbl> <fct>    <fct> <fct>   <fct>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     1 Kadın    18-20 3.sınıf sinif   3.54     5     5     5     6     6     5
## 2     2 Kadın    21-23 3.sınıf fen     2.8      5     6     5     6     6     5
## # ℹ 82 more variables: B7 <dbl>, B8 <dbl>, B9 <dbl>, H1 <dbl>, H1_rev <dbl>,
## #   H2 <dbl>, H3 <dbl>, H4 <dbl>, H5 <dbl>, H6 <dbl>, H7 <dbl>, H8 <dbl>,
## #   H9 <dbl>, H10 <dbl>, H11_rev <dbl>, H11 <dbl>, H12 <dbl>, H12_rev <dbl>,
## #   H13_rev <dbl>, H13 <dbl>, H14 <dbl>, H15 <dbl>, H16 <dbl>, H17 <dbl>,
## #   H18 <dbl>, H19 <dbl>, H20 <dbl>, H21 <dbl>, H22 <dbl>, H23_rev <dbl>,
## #   H23 <dbl>, H24 <dbl>, H24_rev <dbl>, H25 <dbl>, H26 <dbl>, H27 <dbl>,
## #   H28 <dbl>, H29 <dbl>, H30 <dbl>, mean_scale_1 <dbl>, mean_scale_2 <dbl>, …
veri <- veri %>%
  mutate(across(where(is.labelled), as_factor)) #Verilerideki değişkenlerin kodlamalarını factor olarak değiştirdim örneğin kadınlar 1 olarak kodlandıysa bunu "kadın" yazar hale getirdim.
veri <- veri %>%
  select(-kod, -B1: -B9, -H1: -mean_scale_2) #Bu değişkenlerde missing values vardı bu yüzden ortalama atandı ve temizlendi. Temizlenmiş halleri NA kodu ile belirtilmiştir. Rev kodu da ters maddelerin düzenlenmiş halidir. Karışıklığın önünde geçmek için veri seti temizlenmiştir.
Özellik Açıklama
Katılımcı sayısı (N) 465 öğretmen adayı
Toplam değişken sayısı 94
Veri türü Nicel (Likert tipi ölçek maddeleri + demografik değişkenler)
Veri toplama yöntemi Ölçekler (öz-bildirim temelli)
Katılımcılar Eğitim fakültesinde öğrenim gören öğretmen adayları
Değişken Açıklama Türü Örnek Değer
kod (Silindi) Katılımcı numarası Sayısal (ID) 1, 2, 3…
cinsiyet Katılımcının cinsiyeti Kategorik Kadın / Erkek
yas Katılımcının yaşı Sürekli 19, 21, 23…
sınıf Öğretmen adayının sınıf düzeyi Kategorik 1, 2, 3, 4
lisans Lisans programı (bölüm türü) Kategorik Sınıf Öğretmenliği, Fen Bilgisi vb.
not Genel akademik not ortalaması (GANO) Sürekli 2.85, 3.40 vb.
Değişken Grubu Ölçek Türü Ölçek Düzeyi
Demografik Nominal / Ordinal Kategorik / Sıralı
Benlik (B) Likert tipi Ordinal
Hazırbulunuşluk (H) Likert tipi Ordinal

Veri Toplama Araçları

Demografik Bilgi Formu

Katılımcıların cinsiyet, yaş, sınıf düzeyi ve okuduğu bölüm ve üniversite gibi kişisel bilgilerini toplamak amacıyla gibi soruların yer aldığı form hazırlanacaktır.

Beklenen Olası Öğretmen Benlikleri Ölçeği

Hamman ve diğerleri (2013) tarafından geliştirilen Benlik Ölçeği’nin Türkçe’ye uyarlanması Tatlı Dalioğlu ve Adıgüzel (2015) tarafından yapılmıştır. Ölçek toplam 9 madde şeklindedir. 6’lı likert tipinde iki ölçekten [Beklenen Olası Öğretmen Benlikleri, iki alt faktörden (Profesyonellik (4-5-7-8-9), Öğretmeyi öğrenme (1-2-3-6); Korkulan Olası Öğretmen Benlikleri, üç alt faktörden Yaratıcı olmayan öğretim, Yetersiz sınıf yönetimi , İlgisiz bir öğretmen olma)] oluşmaktadır. Ölçeğin tamamının Cranbach alfa güvenirlik katsayısı 0.70 ve üzeri olarak bulunmuştur. Bu çalışmada Beklenen Olası Öğretmen Benlikleri Ölçeği kullanılmıştır. Elde edilen bu bulgulara göre, Öğretmen Adayları Olası Benlikler Ölçeğinin güvenilir bir ölçme aracı olduğu ifade edilebilir.

Hazırbulunuşluk Ölçeği

Yıldırım ve Köklükaya (2017) tarafından öğretmen adaylarının öğretmenlik mesleğine yönelik hazırbulunuşluk düzeylerini belirlemek amacıyla “Öğretmenlik Mesleğine Yönelik Hazırbulunuşluk Ölçeği” geliştirilmiştir. Ölçme aracı iki boyutlu (2.alt boyuttaki maddeler: 11-13-23-12-1-24) 30 maddeden oluşan 5’li likert tipi bir ölçektir. Geliştirilen araştırma için ölçeğin Cranbach alfa güvenirlik katsayısı 0.93 olduğu tespit edilmiştir.

2. İlişkileri Görselleştirme

  • Değişkenler arası ilişkişeri görselleştiniz. Farklı görselleştirme yöntemleri (örneğin ggplot2, pairs(), corrplot, ggcorrplot) deneyebilirsiniz.

  • Her bir grafik için eksen adlarını ve grafik başlıklarını açıklayıcı biçimde düzenleyiniz +

  • Regresyon yapacağım modeli seçmek için önce demografik değişkenlerime bakalım ve örneklemimizi tanıyalım ardından da normallik bakalım. Normallik sonuçlarına bakmak için r da analiz yapamıyorum (basıklık-çarpıklık-shapiro-wilk gibi) ama grafik çizbiliyorum ve okuyabiliyorum 😁

tema_kucuk <- theme_minimal() +
  theme(text = element_text(size = 8),
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(size = 8),
    plot.subtitle = element_text(size = 6)) #Yapay zekadan yazdırdım çünkü patchwork çok birbirine girdi.


dem1 <- ggplot(veri, aes(x = sınıf)) +
  geom_bar() +
  labs(title = "Örneklemin sınıf seviyesi dağılımı",
       subtitle = "(geom_bar)",
       x = "Sınıf kademesi",
       y = "Frekans") +
  tema_kucuk

dem2 <- ggplot(veri, aes(x = yas)) +
  geom_bar() +
  labs(title = "Örneklemin yaş seviyesi dağılımı",
       subtitle = "(geom_bar)",
       x = "Yaş aralığı",
       y = "Frekans") +
  tema_kucuk

dem3 <- ggplot(veri, aes(x = lisans)) +
  geom_bar() +
  labs(title = "Örneklemin lisans programı dağılımı",
       subtitle = "(geom_bar)",
       x = "Lisans",
       y = "Frekans") +
  tema_kucuk

dem4 <- ggplot(veri, aes(x = cinsiyet)) +
  geom_bar() +
  labs(title = "Örneklemin cinsiyet dağılımı",
       subtitle = "(geom_bar)",
       x = "Cinsiyet",
       y = "Frekans") +
  tema_kucuk

(dem1 | dem2) / (dem3 | dem4)

ggplot() +
  geom_density(aes(x = veri$mean_B_all, color = "mean_B_all"), size = 1) +
  geom_density(aes(x = veri$mean_H_all, color = "mean_H_all"), size = 1) +
  labs(title = "mean_B_all ve mean_H_all Yoğunluk Grafiği",
       x = "Puan",
       y = "Yoğunluk",
       color = "Ölçek") +
  theme_minimal() +
  labs(title = "Benlik ve Hazırbulunuşluk Ölçeklerinin Normallik Dağılımları",
       subtitle = "Yoğunluk Grafiği (geom_density)") +
  theme(
    plot.title = element_text(size = 8, face = "bold"), # Başlık boyutu
    plot.subtitle = element_text(size = 6), # Alt başlık boyutu
    axis.title = element_text(size = 6), # Eksen başlıkları
    axis.text = element_text(size = 6), # Eksen yazıları
    legend.title = element_text(size = 6), # Legend başlığı
    legend.text = element_text(size = 6), # Legend içindeki yazılar
    legend.key.size = unit(0.2, "cm"), # Renk kutularını küçültür
    legend.spacing.y = unit(0.2, "cm"), # Legend elemanları arası boşluk
    legend.position = "right") # Legend konumu (sağda)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Benlik ölçeği sola çarpıktır. Grubun benlik algısı yüksektir. Hazırbulunuşluk ölçeği ise ufak dalgalanmalar olsa da normal dağılım göstermektedir. Ölçeklerden birisi nonparametrik olduğu için birazdan “Sperman rho” hesaplanmıştır.

3. Dağılım Grafiği Oluşturma

  • İki sayısal değişken arasındaki ilişkiyi gösteren bir dağılım grafiği (scatter plot) oluşturunuz (+)

  • Saçılım grafiğine eklenen kutu grafikleri veya regresyon çizgileriyle ilişkiyi daha iyi yorumlamaya çalışın (+)

  • Üst ve yan kısımlarda kutu grafikleri (boxplot) (-)

  • Korelasyon katsayısı (r) +

  • Regresyon eğrisi (geom_smooth(method = “lm”)) (+)

  • Saçılım nokta biçimlerini (shape, color, alpha) değiştirerek farklı veri gösterim türlerini deneyebilirsiniz (+)

  • Her bir grafik için eksen adlarını ve grafik başlıklarını açıklayıcı biçimde düzenleyiniz (+)

grafik_top<- ggplot(veri, aes(x = mean_B_all, y = mean_H_all)) +
  geom_point() +
  geom_smooth(method = "loess", se = FALSE, color = "orange") +
  stat_regline_equation() +
  theme_minimal() +
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       x = "Benlik",
       y = "Hazırbulunuşluk") +
  theme(
    plot.title = element_text(size = 8, face = "bold"), # Başlık boyutu
    plot.subtitle = element_text(size = 6), # Alt başlık boyutu
    axis.title = element_text(size = 6), # Eksen başlıkları
    axis.text = element_text(size = 6)) # Eksen yazıları

grafik_top
## `geom_smooth()` using formula = 'y ~ x'

grafik1<- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, color = lisans)) +
  geom_point() +
  geom_smooth(method = "loess", se = FALSE, color = "orange") +
  theme_minimal() +
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Lisans programlarına göre (geom_point)",
       x = "Benlik",
       y = "Hazırbulunuşluk",
       color = "Lisans") +
  theme(
    plot.title = element_text(size = 8, face = "bold"), # Başlık boyutu
    plot.subtitle = element_text(size = 6), # Alt başlık boyutu
    axis.title = element_text(size = 6), # Eksen başlıkları
    axis.text = element_text(size = 6), # Eksen yazıları
    legend.title = element_text(size = 6), # Legend başlığı
    legend.text = element_text(size = 4), # Legend içindeki yazılar
    legend.key.size = unit(0.2, "cm"), # Renk kutularını küçültür
    legend.spacing.y = unit(0.2, "cm"), # Legend elemanları arası boşluk
    legend.position = "right") # Legend konumu (sağda)



grafik2 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, color = lisans)) +
  geom_point(alpha=0.1) +
  geom_smooth(method = "loess", se = FALSE, color = "orange") +
  theme_minimal() +
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Lisans programlarına göre (geom_point(alpha=0.1)",
       x = "Benlik",
       y = "Hazırbulunuşluk",
       color = "Lisans") +
  theme(
    plot.title = element_text(size = 8, face = "bold"),
    plot.subtitle = element_text(size = 6),
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6), 
    legend.title = element_text(size = 6), 
    legend.text = element_text(size = 4), 
    legend.key.size = unit(0.2, "cm"), 
    legend.spacing.y = unit(0.2, "cm"),
    legend.position = "right") 



grafik3 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, color = lisans)) +
  geom_jitter(alpha=0.5) +
  geom_smooth(method = "loess", se = FALSE, color = "orange") +
  theme_minimal() +
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Lisans programlarına göre (geom_jitter)",
       x = "Benlik",
       y = "Hazırbulunuşluk",
       color = "Lisans") +
  theme(
    plot.title = element_text(size = 8, face = "bold"),
    plot.subtitle = element_text(size = 6), 
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6), 
    legend.title = element_text(size = 6), 
    legend.text = element_text(size = 4),
    legend.key.size = unit(0.2, "cm"), 
    legend.spacing.y = unit(0.2, "cm"), 
    legend.position = "right") 


(grafik1) / (grafik2 | grafik3)
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'

grafik_top_2<- ggscatter(veri,
                         x = "mean_B_all",
                         y = "mean_H_all",
                         add = "reg.line",
                         conf.int = TRUE, 
                         cor.coef = TRUE,
                         cor.method = "spearman") +
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       x = "Benlik",
       y = "Hazırbulunuşluk")
       
grafik_top_2

grafik_top_3_1 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all)) +  
  geom_boxplot() +
  theme(
    plot.title = element_text(size = 6, face = "bold"), 
    plot.subtitle = element_text(size = 6), 
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6), 
    legend.title = element_text(size = 6), 
    legend.text = element_text(size = 4), 
    legend.key.size = unit(0.2, "cm"), 
    legend.spacing.y = unit(0.2, "cm"),
    legend.position = "right") + 
   labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
        subtitle = "(geom_boxplot)",
       x = "Benlik",
       y = "Hazırbulunuşluk")



grafik_top_3_2 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, color = lisans)) +
  geom_boxplot() +
  theme(
    plot.title = element_text(size = 6, face = "bold"), 
    plot.subtitle = element_text(size = 6), 
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6), 
    legend.title = element_text(size = 6), 
    legend.text = element_text(size = 4), 
    legend.key.size = unit(0.2, "cm"), 
    legend.spacing.y = unit(0.2, "cm"), 
    legend.position = "right") + 
   labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Lisans programlarına göre (geom_boxplot)",
       x = "Benlik",
       y = "Hazırbulunuşluk",
       color = "Lisans")




grafik_top_3_3 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, fill = cinsiyet)) +  
  geom_boxplot() +
  theme(
    plot.title = element_text(size = 6, face = "bold"), 
    plot.subtitle = element_text(size = 6), 
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6), 
    legend.title = element_text(size = 6), 
    legend.text = element_text(size = 4), 
    legend.key.size = unit(0.2, "cm"), 
    legend.spacing.y = unit(0.2, "cm"), 
    legend.position = "right") + 
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Cinsiyete göre (geom_boxplot)",
       x = "Benlik",
       y = "Hazırbulunuşluk", 
       fill = "Cinsiyet")



grafik_top_3_4 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, shape = sınıf)) +  
  geom_boxplot() +
  theme(
    plot.title = element_text(size = 6, face = "bold"), 
    plot.subtitle = element_text(size = 6), 
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6), 
    legend.title = element_text(size = 6), 
    legend.text = element_text(size = 4), 
    legend.key.size = unit(0.2, "cm"), 
    legend.spacing.y = unit(0.2, "cm"), 
    legend.position = "right") + 
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Sınıfa göre (geom_boxplot)",
       x = "Benlik",
       y = "Hazırbulunuşluk", 
       shape = "Sınıf")


(grafik_top_3_1 | grafik_top_3_2) / (grafik_top_3_3 | grafik_top_3_4)
## Warning: Continuous x aesthetic
## ℹ did you forget `aes(group = ...)`?

grafik_top_3_5 <- ggplot(veri, aes(x = mean_B_all, y = mean_H_all, color= lisans, fill = cinsiyet, shape = sınıf)) +  
  geom_boxplot() +
  theme(
    plot.title = element_text(size = 6, face = "bold"), 
    plot.subtitle = element_text(size = 6), 
    axis.title = element_text(size = 6), 
    axis.text = element_text(size = 6),
    legend.title = element_text(size = 6),
    legend.text = element_text(size = 4),
    legend.key.size = unit(0.2, "cm"),
    legend.spacing.y = unit(0.2, "cm"),
    legend.position = "right") +
  labs(title = "Hazırbulunuşluk ve benlik düzeyleri arasındaki ilişki",
       subtitle = "Lisans, Cinsiyet ve Sınıfa göre (geom_boxplot)",
       x = "Benlik",
       y = "Hazırbulunuşluk",
       color = "Lisans",
       fill = "Cinsiyet",
       shape = "Sınıf")

grafik_top_3_5

corPlot(veri[,6:14],
        stars = TRUE)

corPlot(veri[,15:44],
        stars = TRUE)

Bu araştırmada öğretmen adaylarının benlik algıları ile mesleğe yönelik hazırbulunuşluk düzeyleri arasındaki ilişki incelenmiştir. Bulgular doğrultusunda öğretmen adaylarının her iki düzeyde de genel olarak orta-yüksek seviyede oldukları görülmüştür. Benlik algısı yüksek olan öğretmen adaylarının mesleki hazırbulunuşluklarının da yüksek olduğu, iki değişken arasında pozitif yönde anlamlı bir ilişki bulunduğu belirlenmiştir. Ayrıca sınıf düzeyi arttıkça (özellikle 4.sınıfta) öğretmen adaylarının hazırbulunuşluk düzeylerinin yükseldiği, cinsiyet ve branş değişkenlerine göre ise anlamlı bir fark bulunmadığı saptanmıştır. Bu sonuçlar, öğretmenlik eğitimi sürecinde kazanılan deneyim ve özgüvenin mesleki hazırbulunuşluğu güçlendirdiğini göstermektedir.

Öz Değerlendirme

ggscatter ile çalışırken çok zorlandım. ggplottan farklı olarak aes olmaması, değişkenlerin tırnak içine alınması gerekmesi farklıydı 😵‍💫. Patchwork paketini çok sevdim. Çok daha derli toplu grafiklerimi sunabiliyorum. Henüz x-y eksenlerinin boyutunu ayarlayamıyorum o yüzden biraz biçimsiz oluyor ama aynı konuya ilişkin garfikleri tek tabloda gösterince en anlaşılır olanı seçme şansım oluyor. Okumalara ilişkin metinler halinde not alamıyorum ama aslında excelde not ettim ama buraya bu şekilde aktabildim. Yine kendi aktif çalıştığım bir veri setinde jamovide yaptığım analizleri buradan yapabilmek özgüvenimi artırdı. Tanıdık veri setlerinde grafiklerimi daha iyi yorumlayabildiğimi fark ettim. Bu da daha eğlenceli hale getirdi. Geçen hafta PISA verileri ile çalışırken çıkarttığım grafikleri yorumlayamamıştım. Bu seferki ödevde grafiklerimin komplike olmasına değil anlaşılır ve mümkün olduğunca sade olmasına özen göstermeye çalıştım. Kodları yazarken de ilk kez ödevimin çok azında girişteki standart tema tanımlarken yapay zekadan faydalandım. Bu kez de grafiklerimin basitliğinden dolayı memnun olmasam da her şeyini kendim yapabilmiş olduğum için çok mutluyum. İlerleyen haftalarda hem daha karmaşık ama daha anlaşılır grafikler çizdirebilmeyi bunu minimum destekle yapmayı hedefliyorum.

Teslim Biçimi

2 Kasım Pazar saat 23:59’a kadar Rpubsta yayınlanması planlanmıştır.