Pengenalan SAS
A. Pengenalan Dasar SAS
0. Akses Data di Library
=SASHELP.CARS;
proc print data'Data SAS di Library SASHELP berisi Data CARS';
title run;
1. Instream Data, Penyimpanan Sementara
data data0;
input a b c;
cards;1 2 3
4 5 6
7 8 9
;=data0;
proc print data run;
data data1;$ b c;
input a
cards;2 3
s1 5 6
s4 8 9
s7
;=data1;
proc print data run;
2. External Data, penyimpanan Sementara
Isi File : data02.txt
3
s1 Bambang 6
s2 Gunawan 9 s3 Setyonugroho
data data2;"~/my_shared_file_links/u49741401/data02.txt";
infile $ nama$ 4-15 nilai;
input pend
cards;=data2;
proc print data run;
3. Instream Data, Penyimpanan Permanen
"/home/u49741401/sasuser.v94";
libname STA261
data STA261.data3;
input a b c;
cards;1 2 3
4 5 6
7 8 9
;=STA261.data3;
proc print data run;
4. External Data, Penyimpanan Permanen
"/home/u49741401/sasuser.v94";
libname STA261
data STA261.data4;"~/my_shared_file_links/u49741401/data02.txt";
infile $ nama$ 4-15 nilai;
input pend
cards;=STA261.data4;
proc print data run;
5. Iterasi
Peubah x : bilangan 0 sampai 1 dengan selisih 0.05
Peubah y : xj, dengan j merupakan indeks dari x
data5 (drop=j);
data =0;
j=0 to 1 by 0.05;
do x=j+1;
j=x**j;
y
output;
end;
run;=data5;
proc print data
run;
=data5;
proc contents data run;
6. If Else, Length and Drop
Peubah x : bilangan 1 sampai 20
Peubah Ket : keterangan “ganjil” atau “genap” dari x
data data6;= 1 to 20;
do x = mod(x,2);
y if y = 0 then Ket = "Genap";
else Ket = "Ganjil";
output;
end;=data6;
proc print data run;
data data6;$ 6;
length ket = 1 to 20;
do x = mod(x,2);
y if y = 0 then ket = "Genap";
else ket = "Ganjil";
output;
end;
Drop y;
run;=data6;
proc print data run;
7. Keep
Peubah x : bilangan 1 sampai 10 Masih pada tahapan data, carilah rata-rata dari x dengan nama rataan Tampilkan hanya peubah rataan saja
data7 (keep=rataan);
data =0;
x=0;
n=1 to 10;
do y=x+y;
x=n+1;
n
end;= x/n;
rataan
run;=data7;
proc print data run;
8 Konstanta
Peubah x : bilangan 1 sampai 20
Peubah y : 𝑦 =sin(𝑥×𝜋)+cos(𝑥×𝜋)
data8 (drop=pi);
data = constant("pi");
pi =1 to 20;
do x=sin(x*pi)+cos(x*pi);
y
output;
end;
run;=data8;
proc print data run;
B. Proc SAS/BASE
PROC | KETERANGAN |
---|---|
PROC PRINT |
Mencetak observasi pada data SAS. |
PROC CONTENTS |
Menampilkan isi dari data SAS. |
PROC IMPORT |
Membaca data eksternal dan menyalinnya ke data SAS. |
PROC FORMAT |
Merubah/ memformat observasi dari variabel |
PROC SORT |
Mengurutkan observasi data SAS. |
PROC MEANS |
Ringkasan data (statistika deskriptif) |
PROC UNIVARIATE |
Statistika deskriptif (momen), histogram, QQplot… |
PROC FREQ |
Tabel frekuensi dan kontingensi |
PROC PLOT |
Membuat plot dari observasi 2 variabel |
PROC CHART |
Membuat bar chart, pie chart, star chart |
PROC SORT
Tahapan prosedur untuk mengurutkan amatan dalam variabel (beberapa variabel)
Bentuk Umum
= … out= … ;
proc sort data
by descending variable; run;
Contoh :
Urutkanlah amatan data berikut ini berdasarkan variabel nama dan mobil masing-masing secara descending
Nama | ID | MOBIL |
---|---|---|
Joko | 7 | Avanza |
Budi | 11 | Civic |
Bambang | 3 | Xenia |
Joko | 7 | Jazz |
data data9;$ ID Mobil$;
input Nama
cards;7 Avanza
Joko 11 Civic
Budi 3 Xenia
Bambang 7 Jazz
Joko
;=data9 out=data9sort;
proc sort data
by descending nama descending mobil;
run;=data9; run;
proc print data=data9sort; run; proc print data
PROC FREQ
Tahapan prosedur untuk menghitung dan membuat tabel kontingensi
Bentuk Umum
< options > ;
PROC FREQ
BY variables ; -options < / computation-options > ;
EXACT statistic< OUT=SAS-data-set > options ;
OUTPUT < / options > ;
TABLES requests
TEST options ; < / option > ; WEIGHT variable
Contoh :
Buatlah tabel kontingensi dari data di bawah ini, dengan peubah pre untuk bagian baris dan peubah post untuk bagian kolom, serta dengan isinya berupa peubah hasil
Pre | Post | Hasil |
---|---|---|
Yes | Yes | 30 |
Yes | No | 10 |
No | Yes | 40 |
No | No | 20 |
data data10;$ post$ hasil;
input pre
cards;30
Yes Yes 10
Yes No 40
No Yes 20
No No
;=data10;
proc freq data*post; # Frekuensi Amatan Pre dan Post
tables pre
run;
=data10;
proc freq data*post/ norow nocol nopercent; # Frekuensi Amatan Pre, Post, Hasil
tables pre
weight hasil; run;
Referensi
Rahardiantoro, S. 2019. Tahapan Data dan Proc. Komputasi Statistika (Lectures Note). Bogor: IPB University