Perşembe akşamı saat 19:30. Tez teslim tarihi çarşambaya kalmış. Excel'deki 243 hastanın verisini SPSS'e aktardınız, bir baktınız ki 89 hastada tüm değerler "system missing" gösteriliyor. Panikle F5'e basıp duruyorsunuz. Değişmiyor.
Bu senaryoyu ayda en az üç kez görüyoruz. Sorun SPSS'te değil, Excel'de. Daha doğrusu, Excel'i "veri tablosu" gibi kullanma alışkanlığımızda.
Bu yazı, aktarım sırasında en sık karşılaşılan 9 hataya ve pratik çözümlerine odaklanıyor. Aktarım sürecinin kendisini adım adım görmek isterseniz Excel'den SPSS'e veri aktarımı rehberimize bakabilirsiniz.
1. Birleştirilmiş Hücrelerin Felaketi
Excel'de tablo başlığını güzel göstermek için 3 hücreyi birleştirdiniz. Altına "Hasta No", "Yaş", "Cinsiyet" sütun adlarını yazdınız. SPSS'te "Open Data" deyip import ettiniz.
İlk satır veri olarak algılandı. Değişken adlarınız VAR00001, VAR00002 oldu.
SPSS'e aktarılacak Excel dosyasında birleştirilmiş hücre olmamalı. İlk satır sadece değişken adları içermeli. Arada boş satır bulunmamalı. Basit ama sıklıkla gözden kaçıyor.
2. Tarih Formatı Kâbusu
Excel'de doğum tarihi "15.03.1985" yazıyor. SPSS'e aktarınca "31174" gibi bir sayı çıkıyor.
Nedeni: Excel tarihleri "1 Ocak 1900'den bu yana kaç gün geçti" olarak saklıyor. SPSS ise "1 Ocak 1960'tan bu yana kaç saniye geçti" şeklinde çalışıyor. İki program arasındaki referans noktası ve birim farklı.
Deneyimlerimize göre en güvenli yaklaşım tarihleri Excel'de üç ayrı sütuna bölmek: dogum_gun, dogum_ay, dogum_yil. SPSS'te gerekirse COMPUTE komutuyla birleştiriyorsunuz: DATE.MDY(dogum_ay, dogum_gun, dogum_yil). Hantal görünüyor ama tarih hatası riskini sıfıra indiriyor.
3. "Evet/Hayır/Boş" Dramı
"Diyabet var mı?" sorusuna bazı hastalar "Evet", bazıları "Hayır" demiş, 15 hastada cevap yok. O 15 hücreyi Excel'de boş bıraktınız.
SPSS'e aktarınca boş hücreler bazen "system missing" oluyor, bazen "0" olarak algılanıyor. Artık diyabeti olmayan ile cevap vermeyenler karışık. Frekans tablosu yanlış, yüzdeler yanlış.
Çözüm: Kategorik değişkenleri sayıya kodlamak (0=Hayır, 1=Evet). Eksik veriyi boş bırakmak veya "99" gibi özel bir kod vermek. SPSS'te Missing Values tanımı yapmak. Böylece "gerçekten hayır" ile "bilmiyoruz" ayrışıyor.
4. Ondalık Ayracı: Virgül mü Nokta mı?
Türkiye'de ondalık ayracı virgül. Excel'de "12,5" yazıyorsunuz. SPSS bunu "125" olarak okuyabiliyor. Ya da string (metin) olarak algılıyor ve ortalama alamıyorsunuz.
Ben her zaman Excel'de noktayı tercih ediyorum. Alışmak 2 gün sürüyor, sonra hata riski sıfıra iniyor. Alternatif olarak SPSS'te Edit > Options > Language kısmından ondalık ayracını virgül yapabilirsiniz ama bunu her açılışta kontrol etmek gerekiyor.
5. Gizli Karakterler ve Boşluklar
Hastanın yaşını girmişsiniz: " 45 " (başta ve sonda boşluk var). SPSS bunu string olarak algılıyor. Frekans tablosunda "45" ve " 45 " ayrı kategoriler oluşturuyor.
Daha kötüsü: Excel'de formülle hesaplanan bir sütunda #DIV/0! veya #VALUE! hataları var. SPSS bunları ya missing okuyabiliyor ya da hiç import etmiyor.
Temizlik adımları: Excel'de Find & Replace ile gereksiz boşlukları temizlemek. Formül sütunlarını "Paste Special > Values" ile değerlere dönüştürmek. "Go To Special > Blanks" ile boş hücreleri tespit edip düzeltmek.
Daha kapsamlı bir temizlik süreci için veri temizleme kontrol listemize bakabilirsiniz.
6. Tek Satıra Çoklu Gözlem Sığdırmak
Bir hastanın 4 kontrolü var. Excel'de şöyle yazmışsınız: Sütun A hasta no, Sütun B-E sırasıyla 1. kontrol HbA1c, 2. kontrol, 3. kontrol, 4. kontrol.
Bu "wide format" ve tekrarlı ölçümler analizi için uygunsuz. SPSS'te Repeated Measures ANOVA yapmak istediğinizde format hatası alıyorsunuz.
Long format'a çevirmek gerekiyor: Her kontrol ayrı satır, sütunlar hasta_no, kontrol_sayisi, hba1c_degeri. Excel'de bunu manuel yapmak saatler alır. SPSS'te "Restructure Data" menüsü ya da Python'da pandas melt fonksiyonu işi dakikalara indiriyor.
7. Kategorik Değişkeni "Scale" Olarak Bırakmak
Eğitim durumunu kodladınız: 1=İlkokul, 2=Ortaokul, 3=Lise, 4=Üniversite. SPSS bunu "scale" (sürekli) değişken olarak algıladı. Ortalama hesapladınız: 2.7.
Bu sayı hiçbir anlam ifade etmiyor. "Ortalama eğitim düzeyi 2.7" diye bir kavram yok.
SPSS'te Variable View'da değişken tipini "Nominal" veya "Ordinal" yapmak gerekiyor. Value Labels eklemek gerekiyor. Ve analizde kategorik olarak kullanmak gerekiyor. Sıralı değişkense Spearman korelasyon, kategorikse ki-kare. İstatistik testi seçim rehberimiz bu ayrımı detaylı anlatıyor.
8. String Tutarsızlıkları
"Cinsiyet" sütununda şunları bir arada görmüşsünüzdür: Erkek, erkek, E, e, ERKEK, Erke (typo). SPSS bunları 6 farklı kategori olarak algılıyor. Frekans tablosu kaotik.
En iyi önlem veri toplamadan ÖNCE kodlama yapmak: 1=Erkek, 2=Kadın. Veri toplandıysa Find & Replace ile standartlaştırmak. Excel'de Data Validation ile dropdown liste oluşturmak gelecekte bu sorunu önlüyor.
Tüm kategorik değişkenler için anket veri kodlama rehberindeki gibi bir codebook oluşturmak hem veri toplayana yol gösteriyor hem kendi kontrolünüzü kolaylaştırıyor.
Uyarı
Excel'de "Auto-correct" ve "Auto-format" özellikleri bazen veriyi sessizce bozuyor. "1/2" yazıyorsunuz, Excel "1 Şubat" yapıyor. "MARCH1" (bir gen adı) yazıyorsunuz, "1 Mart" oluyor. Genetik ve biyoinformatik verilerinde bu durum ciddi hatalara neden olabiliyor. File > Options > Proofing > AutoCorrect Options yolundan otomatik düzeltmeleri kapatmakta fayda var.
9. "Toplam" Satırını Unutmak
Excel'de güzel bir tablo yapmışsınız, en altta "Toplam" satırı var. SPSS'e aktarınca bu satır bir hasta olarak algılanıyor.
300 hastanın toplam yaşı 9500 ise, bu "hasta" 301. satırda 9500 yaşında gözüküyor. Ortalama yaş birden 60'tan 90'a fırlıyor. Komik ama analizi tamamen bozuyor.
SPSS'e aktarmadan önce toplam ve ortalama satırlarını silmek yeterli. SPSS zaten her şeyin toplamını ve ortalamasını hesaplıyor.
Genel Kural: 1 Saat Hazırlık = 10 Saat Tasarruf
10 yıllık klinik araştırma deneyimimize göre veri toplama aşamasında yapılan 1 saatlik dikkatli hazırlık, analiz aşamasında 10 saatlik zaman kazandırıyor.
Veri toplama formunu hazırlarken kategorik değişkenleri sayısal kodlamak, tarihleri gün/ay/yıl olarak ayrı sütunlara almak, ondalıklarda nokta kullanmak ve değişken adlarını kısa-net-Türkçe karaktersiz tutmak neredeyse tüm aktarım sorunlarını baştan önlüyor.
Eğer retrospektif çalışma yapıyorsanız ve zaten toplanmış bir Excel dosyasıyla çalışıyorsanız, retrospektif çalışma tasarımı yazımızda mevcut veriyi düzenleme stratejilerini anlattık.
Model İstatistik olarak veri aktarım sürecinde ve sonrasında araştırmacılara destek sağlıyoruz. Veri kontrolünden analiz raporlamasına kadar tüm süreci birlikte yürütüyoruz.
Veriniz ne kadar temiz gelirse, analiz o kadar güvenilir çıkıyor.