← Blog'a Dön
R9 dk okuma2026-06-10

R ile Akademik Kalitede Veri Görselleştirme

Akademik Grafik Neden Bu Kadar Önemlidir?

İstatistiksel bulgular ne kadar güçlü olursa olsun, okuyucunun anlayabileceği biçimde sunulmazsa etkisini yitirir. Hakemler yüzlerce makale okur; kötü hazırlanmış bir grafik, sağlam bir çalışmanın önünde ciddi bir engel haline gelebilir.

Bununla birlikte, grafiklerin "güzel görünmesi" de tek başına yeterli değildir. Akademik görselleştirmenin iki temel işlevi vardır: verinin yapısını doğru aktarmak ve okuyucunun istatistiksel çıkarımı hızlıca kavramasını sağlamak. Bu iki işlevi aynı anda yerine getiren grafikler, iyi yazılmış bir bulgular bölümünün vazgeçilmez parçasıdır.

ggplot2 Nedir ve Neden Kullanılır?

R ekosisteminde veri görselleştirmenin fiili standardı ggplot2'dir. Hadley Wickham tarafından geliştirilen bu paket, "grafik grameri" (Grammar of Graphics) ilkesine dayanır: her görsel bağımsız katmanların üst üste gelmesiyle inşa edilir. Bu yaklaşım hem esneklik hem de tekrarlanabilirlik sağlar — aynı kodu farklı bir veri setiyle çalıştırıp aynı yapıda grafik üretebilirsiniz.

r
library(ggplot2)
library(dplyr)

# Temel saçılım grafiği
ggplot(veri, aes(x = bagimsiz, y = bagimli)) +
  geom_point(alpha = 0.6, size = 2, color = "#1e3a5f") +
  geom_smooth(method = "lm", se = TRUE,
              color = "#2563eb", fill = "#2563eb22") +
  labs(
    title = "Değişkenler Arası İlişki",
    subtitle = "n = 120, regresyon doğrusu ve %95 GA",
    x = "Bağımsız Değişken",
    y = "Bağımlı Değişken",
    caption = "Not. GA = güven aralığı."
  ) +
  theme_minimal(base_size = 12)

APA 7 Uyumlu Tema Nasıl Oluşturulur?

Akademik dergilerin büyük çoğunluğu, grafiklerin siyah-beyaz baskıda da okunabilir olmasını şart koşar. Renk kullanımı desteklense bile mümkün olduğunca sade tutulmalıdır. Aşağıdaki tema, APA 7 formatına uygun bir başlangıç noktası sunar:

r
tema_apa <- theme_classic(base_size = 12) +
  theme(
    # Eksen başlıkları kalın ve okunabilir
    axis.title   = element_text(size = 11, face = "bold"),
    axis.text    = element_text(size = 10, color = "black"),
    axis.line    = element_line(color = "black", linewidth = 0.5),
    # Başlık ortalı ve kalın
    plot.title   = element_text(size = 12, face = "bold", hjust = 0.5),
    plot.subtitle = element_text(size = 10, hjust = 0.5, color = "gray40"),
    plot.caption = element_text(size = 9, hjust = 0, color = "gray40"),
    # Açıklama kutusu grafiğin altında
    legend.position  = "bottom",
    legend.title     = element_text(size = 10, face = "bold"),
    legend.text      = element_text(size = 9),
    # Izgara yok
    panel.grid       = element_blank(),
    # Arka plan beyaz
    plot.background  = element_rect(fill = "white", color = NA),
    panel.background = element_rect(fill = "white", color = NA)
  )

Bu temayı bir kez tanımlayıp + tema_apa olarak her grafiğinize ekleyebilirsiniz.

Hangi Grafik Türü Ne Zaman Kullanılır?

Grup Karşılaştırması: Violin + Nokta

Klasik boxplot, veri dağılımını gizler — özellikle küçük örneklemlerde yanıltıcı olabilir. Violin grafiği ile ham veriyi birleştiren aşağıdaki yaklaşım, hem dağılımı hem de bireysel gözlemleri aynı anda gösterir:

r
ggplot(veri, aes(x = grup, y = skor, fill = grup)) +
  geom_violin(alpha = 0.35, trim = FALSE, color = NA) +
  geom_jitter(width = 0.08, alpha = 0.6, size = 1.5, color = "gray30") +
  stat_summary(
    fun = mean, geom = "crossbar",
    width = 0.25, linewidth = 0.7, color = "black"
  ) +
  stat_summary(
    fun.data = mean_se, geom = "errorbar",
    width = 0.15, linewidth = 0.6, color = "black"
  ) +
  scale_fill_manual(values = c("#2563eb44", "#dc262644")) +
  labs(x = "Grup", y = "Puan", fill = NULL) +
  tema_apa +
  theme(legend.position = "none")

Yatay çizgi ortalamayı, hata çubukları ±1 SE'yi gösterir. APA 7'de hata çubuklarının ne temsil ettiği (SE, SD veya GA) mutlaka grafik notunda belirtilmelidir.

Regresyon Sonuçları: Katsayı Grafiği

Regresyon tablosu yerine katsayı grafiği kullanmak, okuyucunun hangi değişkenin ne kadar etkili olduğunu çok daha hızlı kavramasını sağlar:

r
library(broom)

model |>
  tidy(conf.int = TRUE) |>
  filter(term != "(Intercept)") |>
  mutate(term = recode(term,
    "yas"    = "Yaş",
    "gelir"  = "Gelir",
    "egitim" = "Eğitim düzeyi"
  )) |>
  ggplot(aes(x = estimate, y = reorder(term, estimate))) +
  geom_vline(xintercept = 0, linetype = "dashed",
             color = "gray50", linewidth = 0.5) +
  geom_errorbarh(
    aes(xmin = conf.low, xmax = conf.high),
    height = 0.2, linewidth = 0.6, color = "gray40"
  ) +
  geom_point(size = 3, color = "#1e3a5f") +
  labs(
    x = "Regresyon katsayısı (B) [%95 GA]",
    y = NULL,
    caption = "Not. GA = güven aralığı. Kesikli çizgi sıfır etkiyi gösterir."
  ) +
  tema_apa

Korelasyon Matrisi

Çok değişkenli çalışmalarda tüm değişkenler arası ilişkileri tek grafikte sunmak için corrplot veya GGally kullanılabilir:

r
library(GGally)

veri |>
  select(degisken1, degisken2, degisken3, degisken4) |>
  ggpairs(
    upper = list(continuous = wrap("cor", size = 3.5)),
    lower = list(continuous = wrap("points", alpha = 0.4, size = 0.8)),
    diag  = list(continuous = wrap("densityDiag", alpha = 0.5))
  ) +
  tema_apa

Yüksek Çözünürlüklü Dışa Aktarma

Dergiler genellikle minimum 300 DPI, çoğunlukla TIFF veya PDF formatı ister. ggsave() ile bunu kolayca üretebilirsiniz:

r
# PNG (sunum ve web için)
ggsave("sekil1.png",
       plot  = son_grafik,
       width = 16, height = 10, units = "cm",
       dpi   = 300, bg = "white")

# PDF (vektörel, baskı kalitesi)
ggsave("sekil1.pdf",
       plot  = son_grafik,
       width = 16, height = 10, units = "cm",
       device = cairo_pdf)

Genişlik için dergi kılavuzunu kontrol edin: tek sütun ~8 cm, çift sütun ~16 cm olarak belirlenmiştir.

Renk Körlüğü Uyumu

Okuyucuların yaklaşık %8'i bir tür renk körlüğüne sahiptir. Renk seçimini buna göre yapmak hem etik hem de pratik bir gerekliliktir. viridis paleti, renk körü okuyucular için tasarlanmış ve hem renkli hem siyah-beyaz baskıda ayırt edilebilen bir skaladır:

r
# Sürekli değişken için
scale_color_viridis_c(option = "D")

# Kategorik değişken için
scale_color_viridis_d(option = "D", begin = 0.2, end = 0.8)

Kaynaklar

  • Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer. https://ggplot2-book.org
  • APA Publication Manual (7th ed.). https://apastyle.apa.org
  • R Graphics Cookbook. https://r-graphics.org

Bu analizi tezinizde kullanmakta zorlanıyor musunuz?

Veri setinizi paylaşın, teorik gerekçesiyle birlikte APA 7 formatında analiz edip raporlayalım.

Proje Talebi Oluştur →

Başlayalım

Projenizi doğru temelde kuralım.

  • Teorik gerekçesiyle birlikte analiz
  • APA 7 uyumlu rapor ve R/Python kodu
  • 48 saat içinde ilk yanıt

%100 uzaktan · Türkiye genelinde