Excel'de hazırlanan bir veri SPSS'e aktarıldığında bazen tüm değerlerin "system missing" (sistem eksik değeri) görünmesi, tarihlerin sayıya dönmesi ya da bir sütunun beklenmedik kategorilere bölünmesi gibi sorunlar çıkar. Bunların kaynağı çoğu zaman SPSS değil, Excel'i bir "veri tablosu" gibi kullanma alışkanlığıdır.
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 üç hücre birleştirilir, altına "Hasta No", "Yaş", "Cinsiyet" sütun adları yazılır ve SPSS'te "Open Data" ile içe aktarılır. Sonuç: ilk satır veri olarak algılanır ve değişken adları VAR00001, VAR00002 olur.
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çan bir kural.
2. Tarih formatı kâbusu
Excel'de doğum tarihi "15.03.1985" yazıyor ama SPSS'e aktarınca "31174" gibi bir sayı çıkıyor.
Nedeni şu: Excel tarihleri "1 Ocak 1900'den bu yana kaç gün geçti" olarak saklıyor; SPSS ise "14 Ekim 1582'den (Gregoryen takvimin başlangıcı) bu yana kaç saniye geçti" şeklinde çalışıyor. İki program arasındaki referans noktası ve birim farklı.
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ştiriliyor: 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ş" karışması
"Diyabet var mı?" sorusuna bazı hastalar "Evet", bazıları "Hayır" demiş, 15 hastada cevap yok ve o 15 hücre Excel'de boş bırakılmış.
SPSS'e aktarınca boş hücreler bazen "system missing" oluyor, bazen "0" olarak algılanıyor. Artık diyabeti olmayan ile cevap vermeyen karışıyor; frekans tablosu ve yüzdeler yanlış çıkıyor.
Çö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 ve 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ıldığında SPSS bunu "125" olarak okuyabiliyor ya da metin (string) olarak algılayıp ortalama alamıyor.
Pratikte en güvenli yol Excel'de noktayı tercih etmek; alışmak birkaç gün sürüyor ama 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şı " 45 " biçiminde (başta ve sonda boşlukla) girilmişse SPSS bunu metin 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ı varsa SPSS bunları ya eksik okuyor ya da hiç içe aktarmıyor.
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 ve "Go To Special > Blanks" ile boş hücreleri tespit edip düzeltmek.
6. Tek satıra çoklu gözlem sığdırmak
Bir hastanın 4 kontrolü varsa ve Excel'de Sütun A hasta no, Sütun B-E sırasıyla 1., 2., 3., 4. kontrol HbA1c olarak yazılmışsa, bu geniş format (wide) tekrarlı ölçümler analizi için uygunsuz. SPSS'te Repeated Measures ANOVA yapmak istediğinizde format hatası alıyorsunuz.
Uzun formata (long) çevirmek gerekiyor: her kontrol ayrı satır, sütunlar hasta_no, kontrol_sayisi, hba1c_degeri. Excel'de bunu elle 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 durumu 1=İlkokul, 2=Ortaokul, 3=Lise, 4=Üniversite olarak kodlanmış ama SPSS bunu "scale" (sürekli) değişken olarak algılamışsa, ortalama hesaplandığında 2,7 gibi bir sayı çıkıyor.
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, Value Labels eklemek 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. Metin (string) tutarsızlıkları
"Cinsiyet" sütununda çoğu zaman şunlar bir arada görülür: Erkek, erkek, E, e, ERKEK, Erke (yazım hatası). SPSS bunları 6 farklı kategori olarak algılıyor ve frekans tablosu kaotik hâle geliyor.
En sağlam önlem, veri toplamadan önce kodlama yapmak: 1=Erkek, 2=Kadın. Veri zaten toplandıysa Find & Replace ile standartlaştırmak; Excel'de Data Validation ile açılır liste (dropdown) oluşturmak gelecekte bu sorunu önlüyor.
Tüm kategorik değişkenler için anket veri kodlama rehberindeki gibi bir kodlama sözlüğü (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ınca Excel "1 Şubat" yapıyor; "MARCH1" (bir gen adı) yazınca "1 Mart" oluyor. Ziemann ve arkadaşlarının (2016) gösterdiği gibi, önde gelen genomik dergilerindeki makalelerin yaklaşık beşte birinde bu tür gen adı bozulmaları bulunuyor. File > Options > Proofing > AutoCorrect Options yolundan otomatik düzeltmeleri kapatmakta fayda var.
9. "Toplam" satırını unutmak
Excel'de güzel bir tablo yapılıp en alta "Toplam" satırı eklenmişse, 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 ve ortalama yaş birden 60'tan 90'a fırlıyor. Küçük bir ayrıntı 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ı kendisi hesaplıyor.
Genel kural: 1 saat hazırlık, 10 saat tasarruf
Klinik araştırma deneyimimize göre veri toplama aşamasında yapılan bir saatlik dikkatli hazırlık, analiz aşamasında saatlerce 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 tutarlı bir ayraç kullanmak ve değişken adlarını kısa, net ve Türkçe karaktersiz tutmak neredeyse tüm aktarım sorunlarını baştan önlüyor.
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. Veri ne kadar temiz gelirse, analiz o kadar güvenilir çıkıyor.
Kullanılan kaynaklar
- Ziemann M, Eren Y, El-Osta A. Gene name errors are widespread in the scientific literature. Genome Biology. 2016;17(1):177. · DOI