Tıpta uzmanlık tezlerinin veri analizi aşamasında sık yaşanan bir sahne var. Excel'de hazırlanan 450 satırlık bir tablo (hasta demografikleri, laboratuvar değerleri, takip verileri) SPSS'te açıldığında 12 sütun metin olarak gelir, tarihler beş haneli sayıya döner, veri CSV üzerinden aktarıldıysa Türkçe karakterler bozulur. Bu sorunların çoğu, aktarımdan önce yapılacak birkaç hazırlık adımıyla önlenebilir.
Aşağıdaki adımlar aktarımı dosya hazırlığından karakter kodlamasına, değişken tanımlamadan doğrulamaya kadar sırayla ele alıyor. Aktarımda karşılaşılan belirli hatalar ve tuzaklar için Excel-SPSS hataları yazımıza bakabilirsiniz.
Neden bu kadar sorunlu?
Excel bir hesap tablosu programı, SPSS bir istatistik yazılımı. İkisinin veri anlama biçimi temelden farklı.
Excel'de bir hücreye "1" yazıldığında program bunu sayı da metin de olarak yorumlayabiliyor; hangisi olduğu hücre formatına bağlı. SPSS ise her değişkenin tipini (sayısal, metin, tarih), ölçek düzeyini (scale, ordinal, nominal) ve eksik veri kodunu net olarak bilmek istiyor. Verinin nasıl yapılandırılması gerektiğine dair pratik ilkeler için Broman ve Woo'nun (2018) çalışması iyi bir başvuru kaynağı.
Bu felsefe farkı, hazırlıksız aktarımlarda sorun çıkarıyor. Ama biraz hazırlıkla sorunsuz geçiş sağlamak mümkün.
Adım 1: Excel dosyasını hazırlama
Aktarım öncesi Excel hazırlığı
Tek sayfa, temiz yapı
SPSS içe aktarmada varsayılan olarak ilk sayfayı okur; içe aktarma penceresinde başka sayfa seçilebilir. Birden fazla sayfa varsa analiz verisi tek sayfada birleştirilir; birleştirilmiş hücre, süslü başlık ve boş satır bulunmamalıdır.
SPSS'e uyumlu değişken adları
Boşluk yerine alt çizgi kullanılan, sayıyla başlamayan kısa adlar seçilir; farklı programlar ve eski sürümlerle uyum için Türkçe harften de kaçınılır (SPSS Unicode kipinde Türkçe harfe izin verir). 'Hasta Adı' yerine 'hasta_adi', '1.ölçüm' yerine 'olcum_1'.
Net sütun formatları
Her sütun açıkça Sayı, Metin veya Tarih olarak biçimlendirilir. Excel'in 'Genel' biçimi sorun çıkarabilir.
Formülleri değere çevirme
Formül içeren sütunlar Ctrl+C ile kopyalanıp Paste Special > Values ile sabit değerlere dönüştürülür. Ham veri dosyasında hesap tutulmaması önerilir; hata veren formül hücreleri (#DIV/0! gibi) SPSS'e eksik ya da metin olarak geçebilir.
.xlsx olarak kaydetme
Eski .xls biçiminde satır (65.536) ve sütun (256) sınırı var; .xlsx'te bu sınırlar çok daha geniş. İki biçim de hücre metnini Unicode olarak saklıyor.
Değişken adlandırma kuralları küçük ama kritik bir detay:
| Excel'deki Ad | Sorun | SPSS Uyumlu |
|---|---|---|
| Hasta Adı | Boşluk | hasta_adi |
| Yaş (yıl) | Parantez ve boşluk | yas_yil |
| 1.ölçüm | Sayıyla başlıyor | olcum_1 |
| BMI kg/m2 | Özel karakter | bmi_kg_m2 |
Adım 2: karakter kodlaması (encoding)
Türkçe karakterler (ş, ç, ğ, ı, ö, ü, İ) özellikle metin ve CSV dosyalarıyla yapılan aktarımlarda sorun çıkarabiliyor. Excel'de doğru görünen "şikâyet" kelimesi, CSV dosyası yanlış kodlamayla okunduğunda SPSS'te "ÅŸikâyet" olabiliyor.
Bunun nedeni karakter kodlaması (encoding) uyumsuzluğu. Hem .xls hem .xlsx hücre metnini Unicode olarak saklıyor; bozulma çoğunlukla UTF-8 ile kaydedilmiş bir CSV ya da metin dosyası yerel kod sayfasıyla (Türkçe Windows'ta Windows-1254) okunduğunda ortaya çıkıyor. Güncel SPSS sürümleri varsayılan olarak Unicode kipinde çalışıyor.
İlk adım, SPSS'te Edit > Options > Language sekmesinde karakter kodlaması ayarının Unicode olduğunu kontrol etmek (güncel sürümlerde "Character Encoding and Locale", eski sürümlerde "Character Encoding for Data and Syntax"; Unicode zaten varsayılan) ve dosyayı doğrudan .xlsx olarak aktarmak. CSV kullanılacaksa dosyayı Excel'de CSV (UTF-8) olarak kaydedip SPSS'in metin okuma sihirbazıyla açmak gerekiyor; burada kodlamayı elle seçebiliyorsunuz.
İpucu
Excel'de bir sütunun gerçekten sayısal olup olmadığını anlamanın kolay bir yolu, sütun aralığına TOPLA (SUM) fonksiyonunu uygulamak. Sonuç sıfır çıkıyorsa ve hücrelerde veri varsa, sayılar metin olarak saklanmış demektir ve SPSS'e aktarımda metin (string) değişken oluşmasına neden olabilir. Hücrelerin yalnız bir kısmı metinse toplam sıfır çıkmaz; bu durumda BAĞ_DEĞ_SAY (COUNT) ile sayısal hücre adedini dolu hücre sayısıyla karşılaştırmak daha güvenli.
Adım 3: SPSS'e içe aktarma
Excel dosyası File > Open > Data yolundan açılıyor. Açılan pencerede "Read variable names from the first row of data" seçeneği işaretlendiğinde ilk satırdaki değişken adları SPSS'e aktarılır.
İçe aktarma sonrası Data View'da ilk 20-30 satırı hızlıca taramak faydalı:
- Sayısal değerler doğru mu?
- Tarihler mantıklı mı yoksa beş haneli sayılar mı?
- Türkçe karakterler sağlam mı?
- Gözlem (case) sayısı Excel'dekiyle eşleşiyor mu?
Bu hızlı kontrol, büyük sorunları erken yakalatıyor.
Adım 4: Variable View düzenlemesi
SPSS'in asıl gücü burada. Variable View sekmesinde her değişken için yedi kritik alan var:
Type: Sayısal mı, metin mi, tarih mi? Excel'den gelen otomatik atamayı kontrol etmek gerekiyor.
Width ve Decimals: Width toplam basamak (metin değişkende karakter) sayısını, Decimals ise ondalık basamak sayısını belirliyor; örneğin yaş için 0, BMI için 1, p değeri için 3 ondalık.
Label: Değişkenin uzun açıklaması. "yas_yil" yerine "Yaş (yıl olarak)" gibi. Analiz çıktılarında bu etiket görünüyor.
Values: Kategorik değişkenlerin değer etiketleri. 1=Erkek, 2=Kadın gibi. Frekans tablolarında ve grafiklerde bu etiketler okunuyor.
Missing: Eksik veri kodları. 99 veya 999 gibi değerleri burada tanımlarsanız SPSS analizlerde otomatik olarak eksik (missing) sayıyor.
Measure: Ölçek düzeyi. Scale (sürekli), Ordinal (sıralı) veya Nominal (kategorik). SPSS ölçek düzeyini değerlerin yapısına göre kendisi atıyor; ancak sıralı değişkenleri (örneğin Likert maddelerini) Ordinal yapmıyor, bunları elle düzeltmek gerekiyor. Likert ölçeği ordinal, cinsiyet nominal, yaş scale olmalı.
| Değişken | Doğru Tür | Doğru Ölçek | Sık Yapılan Hata |
|---|---|---|---|
| Yaş | Numeric | Scale | Metin olarak aktarılır |
| Cinsiyet (1/2) | Numeric | Nominal | Değer etiketleri unutulabilir |
| Likert (1-5) | Numeric | Ordinal | Nominal atanır |
| Hemoglobin | Numeric | Scale | Ondalık hatasıyla metin olur |
| Ameliyat tarihi | Date | - | Metin olarak aktarılır |
Bu adım zaman alıcı görünüyor ama analiz sırasında çok daha büyük zaman kayıplarını önlüyor.
Adım 5: doğrulama
İçe aktarma ve düzenleme bittikten sonra her şeyin doğru aktarıldığını teyit etmek gerekiyor.
Frekans kontrolü: Analyze > Descriptive Statistics > Frequencies ile her değişkenin dağılımı kontrol ediliyor. Beklenmedik kategoriler (örneğin cinsiyet değişkeninde 12 farklı değer) aktarım hatası işareti.
Min-maks kontrolü: Analyze > Descriptive Statistics > Descriptives ile sayısal değişkenlerin aralığı inceleniyor. Yaş değişkeninde minimum 0, maksimum 9500 gibi değerler bir yerde toplam satırı ya da kodlama hatası olduğunu gösteriyor.
Gözlem sayısı kontrolü: Excel'deki satır sayısı ile SPSS'teki gözlem (case) sayısı eşleşmeli. Fark varsa boş satırlar veya gizli satırlar olabilir.
Eksik veri kontrolü: Beklediğiniz eksik veri sayısı ile SPSS'in gösterdiği eksik (missing) sayısı uyumlu mu? Fazla eksik varsa aktarım sırasında veri kaybolmuş olabilir.
Bu doğrulama adımlarını her aktarımda yapmak bir refleks hâline gelmeli.
Dosyanın SPSS'te açılması, analize hazır olduğu anlamına gelmiyor. Her değişkenin ne anlama geldiğini tek yerde tutan bir veri sözlüğü, hem sizin hem de analizi yürütecek kişinin işini kolaylaştırıyor.
| Değişken adı | Tanım | Birim | Kodlama | Eksik veri işareti |
|---|---|---|---|---|
| yas | Başvuru anındaki yaş | yıl | — | 999 |
| cinsiyet | Biyolojik cinsiyet | — | 1 = erkek, 2 = kadın | 9 |
| hba1c_0 | Başlangıç HbA1c değeri | % | — | 999 |
Tablo temsilidir; kendi değişkenlerinizle doldurulur. 999 ve 9 gibi kodlar SPSS'te Variable View'daki Missing sütununda eksik değer olarak tanımlanmazsa analize gerçek değer olarak girer. Uzmanlık tezi istatistiği başvurularında veri setiyle birlikte böyle bir sözlüğün gelmesi, analiz planının ilk değerlendirmede netleşmesini kolaylaştırıyor.
Büyük dosyalar için CSV alternatifi
Çok büyük dosyalarda doğrudan .xlsx içe aktarma yavaşlayabiliyor.
CSV (UTF-8) biçimi bu durumda işe yarıyor. Dosya Excel'de File > Save As > CSV UTF-8 olarak kaydedilip SPSS'te File > Import Data > Text Data (eski sürümlerde File > Read Text Data) ile açılıyor. CSV sihirbazında ayırıcı (delimiter), kodlama, ondalık işareti ve değişken adı seçeneklerini elle belirleyebiliyorsunuz; bu da daha fazla kontrol sunuyor.
CSV'nin dezavantajı, formüllerin, renklerin ve biçimlerin kaybolması. Ama zaten SPSS'e bunların hiçbirini değil, yalnızca değerleri aktarıyorsunuz.
SPSS formatında kaydetmek
Tüm düzenlemeler bittikten sonra dosyayı .sav formatında kaydetmek kritik. Bu format değişken tiplerini, etiketleri, eksik veri tanımlarını ve ölçek düzeylerini koruyor; bir daha Excel'den içe aktarmaya gerek kalmıyor.
Etiketleme işlemini her seferinde tekrar yapmak istemiyorsanız SPSS syntax dosyası (.sps) yazabilirsiniz. Syntax ile tüm etiketleme ve düzenleme komutlarını kaydedip tek tıkla çalıştırabilirsiniz. Özellikle çok merkezli çalışmalarda farklı kurumlardan gelen benzer formattaki verilere aynı syntax'ı uygulamak büyük zaman tasarrufu sağlıyor.
Verileriniz hazır olduğunda analiz aşamasına geçmeden önce normallik testi sonuçlarını değerlendirmekte fayda var; hangi istatistik testini uygulayacağınız büyük ölçüde veri dağılımına bağlı.
Model İstatistik olarak veri aktarım sürecinde ve analiz aşamasında araştırmacılara rehberlik ediyoruz. Veri kontrolünden raporlamaya kadar tüm süreci birlikte yürütüyoruz; temiz aktarım, güvenilir analizin ilk adımı.
Kullanılan kaynaklar
- Broman KW, Woo KH. Data organization in spreadsheets. The American Statistician. 2018;72(1):2-10. · DOI
- IBM. IBM SPSS Statistics 27 Core System User's Guide ve Command Syntax Reference (SET DECIMAL).
- Microsoft. [MS-XLS] Excel Binary File Format (.xls) Structure: XLUnicodeRichExtendedString, SST.