SAS/BASE 𝜏𝜌
Tahapan Data (1) Pernyataan LIBNAME Menyimpan data SAS secara permanen Pernyataan DATA Mempersiapkan data SAS Pernyataan INFILE Memanggil data eksternal ke dalam data SAS Pernyataan INPUT Berisi nama peubah, tipe peubah, dan lokasi Pernyataan CARDS (DATALINES) Perintah sebelum data dimasukkan Pernyataan DO-loop Perintah untuk melakukan pengulangan (iterasi) Pernyataan DROP (atau KEEP) Menghilangkan / mempertahankan peubah Pernyataan Kondisi (IF-THEN-ELSE) Pernyataan kondisi Pernyataan Assignment Suatu perintah untuk membuat variabel Perintah fungsi matematika Functions
Latihan tahapan data 1. Mendefinisikan data secara instream dan disimpan secara sementara di SAS data data0; input a b c; cards; 1 2 3 4 5 6 7 8 9 ; proc print data=data0; run;
data data1; input a$ b c; cards; s1 2 3 s2 5 6 s3 8 9 ; proc print data=data1; run;
Latihan tahapan data 2. Input data text external (format .txt) dan disimpan secara sementara di SAS data02.txt s1 Bambang 3 s2 Gunawan 6 s3 Setyonugroho 9
data data2; infile "D:\data02.txt"; input strata$ nama$ 4-15 byk_anak; cards; proc print data=data2; run;
Latihan tahapan data 3. Input data secara instream dan disimpan secara permanen menjadi gugus data SAS libname stk "D:\"; data stk.data3ku; input a b c; cards; 1 2 3 4 5 6 7 8 9 ; proc print data=stk.data3ku; run;
Latihan tahapan data 4. Input data external (format .txt) dan disimpan secara permanen menjadi gugus data SAS libname stk2 "D:\"; data stk2.data4; infile "D:\data02.txt"; input strata$ nama$ 4-15 byk_anak; cards; proc print data=stk2.data4; run;
Latihan 1 • Buatlah data SAS dengan nama data5, yang berisi – Peubah x : bilangan 0 sampai 1 dengan selisih 0.05 – Peubah y : xj, dengan j merupakan indeks dari x
Jawaban 1 data data5; j = 0; do x = 0 to 1 by 0.05; j = j + 1; y = x**j; output; end; run; proc print data=data5; run; proc contents data=data5; run;
Untuk memberikan informasi tentang isi data tersebut
Latihan 2 • Buatlah data SAS dengan nama data6, yang berisi – Peubah x : bilangan 1 sampai 20 – Peubah Ket : keterangan “ganjil” atau “genap” dari x
Jawaban 2 data data6; do x = 1 to 20; y = mod(x,2); if y = 0 then Ket = "Genap"; else Ket = "Ganjil"; output; end; proc print data=data6; run;
Ganji ???? data data6; length ket $ 6; do x = 1 to 20; y = mod(x,2); if y = 0 then ket = "Genap"; else ket = "Ganjil"; output; end; Drop y; run; proc print data=data6; run;
PROC SAS/BASE
Mencetak observasi pada data SAS PROC PRINT PROC CONTENTS Menampilkan isi dari data SAS PROC IMPORT Membaca data eksternal dan menyalinnya ke data SAS PROC FORMAT Merubah/ memformat observasi dari variabel Mengurutkan observasi data SAS PROC SORT 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)
proc sort data= … out= … ; by descending variable; run;
Latihan 3 • Urutkanlah amatan data berikut ini berdasarkan variabel nama dan mobil masing-masing secara descending Nama Joko Budi Bambang Joko
ID 7 11 3 7
Mobil Avanza Civic Xenia Jazz
Jawaban 3 data data7; input nama$ id$ mobil$; cards; Joko 07 Avanza Budi 11 Civic Bambang 03 Xenia Joko 07 Jazz ; proc sort data=data7 out=data8; by descending nama descending mobil; run; proc print data=data7; run; proc print data=data8; run;
PROC FREQ Tahapan prosedur untuk menghitung dan membuat tabel kontingensi PROC FREQ < options > ; BY variables ; EXACT statistic-options < / computation-options > ; OUTPUT < OUT=SAS-data-set > options ; TABLES requests < / options > ; TEST options ; WEIGHT variable < / option > ;
Latihan 4 • 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 Yes Yes No No
Post Yes No Yes No
Hasil 30 10 40 20
Jawaban 4 data data9; input pre$ post$ hasil; cards; Yes Yes 30 Yes No 10 No Yes 40 No No 20 ; proc freq data=data9; tables pre*post; run;
Tabel kontingensi berisi frekuensi amatan
proc freq data=data9; tables pre*post/ norow nocol nopercent; Tabel kontingensi berisi weight hasil; peubah hasil run;
Terima kasih