SAS® İLE VERİ ANALİZİ

Burak Uğur
5 min readDec 3, 2020

SAS, SAS Institute tarafından veri yönetimi, gelişmiş analitik, çok değişkenli analiz, iş zekası ve tahmine dayalı analitik için geliştirilmiş bir istatistiksel yazılım paketidir. SAS C tabanlı bir program olup MAC UNIX Windows işletim sistemlerine tam uyumlu çalışmaktadır.

SAS ÇALIŞMA AKIŞI

Photo by SAS Documentation

Alışıla gelmiş veri analizi aşamaları kullanılmaktadır.

  • Veriye Erişim
  • Veriyi Keşefetme
  • Veriyi Temizleme
  • Veriyi Analiz Etme
  • Raporlama

SAS Syntax

SAS Programı Örneği

Her bir satır “statement” olarak ifade edilir. Statementlar “Step”leri, stepler “SAS Programını” oluşturmaktadır. C tabanlı bir dil olduğu için ifade sonlarına “;” koymak zorunda kalıyoruz.

GLOBAL İFADELER

  • TİTLE
  • OPTİONS
  • LİBNAME

PROC CONTENTS YAPISI

Veri setinin yapısal bilgilerini görmemizi sağlar.

Hazırladğımız veri setinde 9 gözlem ve 5 değişken bulunmaktadır.

CHAR tipindeki değişkenler => NAME DEPT

NUM tipindeki değişkenler => DOJ ID SALARY

PROC PRINT YAPISI

İstediğiniz veri setini görmek için kullanılacak bir yöntemdir.

PROC PRINT DATA = x_data ;
RUN;

VAR : İstenilen değişkenlerin gösterilmesini sağlar
OBS: İstenen gözlem sayısı kadar değişkenlerin gösterilmesini sağlar

PROC PRINT DATA = x_data (OBS=n);
VAR columnsName ;
RUN;

SAS içine kendi oluşturduğumuz veri setini kullanarak ilk 5 gözlemi ve NAME SALARY DEPT değişkenlerini görmek istedik.

PROC MEANS YAPISI

İstenen istatistikleri görmemizi sağlar.

PROC MEANS DATA=data_path (İSTENEN İSTATİSTİKLER);
RUN;

MEAN : Gözlemlerin ortalamasını bulur.
SUM: Gözlemlerin toplamlarını bastırır.
MEDIAN : Gözlemlerin medyanlarını bastırır.
STD : Gözlemlerin standart sapmasını bastırır.
VAR :Gözlemlerin varyansını bastırır.
KURTOSIS : Gözlemlerin basıklık katsayılarını bastırır.

PROC UNIVARIATE YAPISI

Verinin genel yapısı çeyreklikler, basit istatistikler, kayıp gözlerimler aykırı gözlemer ve sıklıkları hakkında bilgi verir.

PROC UNIVARIATE DATA = tutorial_data ;
RUN;
  • Daha fazla özellik isterseniz buradaki linke bakabilirsiniz.

WHERE STATEMENTS

SAS kodları yazarken SQL komutları da yazılabiliyoruz.

Alışılmış SQL komutları gibi istenen koşullarda veriyi çekmek için kullanılmaktadır.

% : Joker eleman olarak kullanılmaktadır. Bulunduğu konumda bilmediğimiz değerler olduğunda kullanmak faydalıdır.
_ : Bulunduğu yerde boşluk bulunduğu zaman kullanılabilir.

  • Daha fazla özellik isterseniz buradaki linke bakabilirsiniz.
Photo by SAS

PROC SORT YAPISI

Verileri sıralamak için kullanılan bir yöntemdir.

Bu örnekte SALARY değişkenini sıralayarak WORK dizini altında TUTORIAL_SALARY adlı tablo oluşturduk.

OUT = Sıralanan veriyi ayrı tablo olarak kullanmak isterseniz kullancağınız bir parametredir.
BY = Sıralanmasını istediğiniz değişkenin seçilmesini sağlar. DESCENDING ifadesi de ek olarak kullanırsanız o değişkeni büyükten küçüğe sıralar.
NODUPKEY : BY ifadesindeki değişkene göre aynı gözlemleri listeler.
DUPOUT = Aynı gözlemerden bir tanesini atacağı çıktı tablosu.

ÖRNEK

Üste yazılan kod oluşturduğumuz veri setinde SALARY değişkenine göre çift gözlemleri başka tabloya tek gözlemleri başka tabloya ayırmamızı sağlar. Çıktı klasörümüz default olarak WORK dizinidir.

TEK GÖZLEM OLAN VERİLER
ÇİFT GÖZLEM OLAN VERİLER

DATA YAPISI

Veri setimize yeni değişken oluşturabiliriz.

DATA output-table; 
SET input-table;
new-column = expression;
RUN;

ÖRNEK

Veri setindeki SALARY değişkenini %10 arttırarak new_salary adında değişken oluşturduk. SALARY ID NAME new_salary değişkenini tutarak DOJ değişkenini tablomuzdan çıkardık.

SET = Çıktı tablosunun bulunacağı dizin
KEEP : Tablonuzda tutmak istediğiniz değişkenler.
DROP : Tablonuzdan kaldırmak istediğiniz değişkenler.

FUNCTIONS YAPISI

Belirlenen fonksiyonları kullanarak değişkenleri işleyebiliriz.

function(argument1, argument2, …) ;DATA output-table; 
SET input-table;
new-column=function(arguments);
RUN;

TEMEL FONKSİYONLAR
String Fonksiyonları

UPCASE() : Karakter tipindeki gözlemin tüm harflerini büyük harfe çevirir.
LOWCASE() :Karakter tipindeki gözlemin tüm harflerini küçük harfe çevirir
LOWCASE() :Karakter tipindeki gözlemin tüm harflerini küçük harfe çevirir.
PROPCASE() :Karakter tipindeki gözlemin ilk harflerini büyük harfe çevirir.
SUBSTR() : Bir bağımsız değişkenden bir alt dizeyi çıkarır.
CATS() : İki string arasındaki boşlukları kaldırır.

Numeric Fonksiyonlar
SUM() : İki değişkenin toplamını döndürür.
MEAN() : İki değişkenin ortalamasını oluşturur:
RANGE() : Eksik olmayan değerlerin aralığını döndürür.
MIN()/MAX() : İki değişkenin MIN MAX değerlerini döndürür.
NMISS() : Eksik gözlemlerin değerlerin sayısını döndürür.
N() : Gözlem sayısını döndürür.

Date Fonksiyonları
MONTH() : 12 ayın sayısal değerini döndürür.
YEAR() : Yılı döndürür.
DAY() :Günleri döndürür.
WEEKDAY() : Haftanın hangi günü olduğunu döndürür.
QTR() : Yılın kaçıncı çeyreğinde olduğunu gösterir.
TODAY() : Bügünün tarihini gösterir.
MAY() : Gün/Ay/Yıl olarak değer döndürür.
YRDIF(date1,date2) : İki tarih arasındaki farkı döndürür.

İF ELSE STATEMENTS

IF expression 
THEN statement;
ELSE IF expression
THEN statement;
ELSE statement;

RAPORLARA BAŞLIK EKLEME

Daha fazla bilgiye erişmek için SAS Documentation sayfasına göz atınız.

Uygulama kodlarına ulaşmak için aşağıdaki linke bakabilirsiniz.

KAYNAKLAR

--

--