SAS Workshop II

1,038 views
951 views

Published on

SAS Workshop II at ComLabs USDI ITB

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,038
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SAS Workshop II

  1. 1. SAS Workshop II By Teguh Nugraha
  2. 2. Workshop IIYang akan kita pelajari: Creating and Printing A SAS Data Set Cleaning and Validating Data Computing Descriptive Statistics Confidence Interval Histogram, Boxplot, Stem-Leaf Hypothesis Test 2 ComLabs USDI ITB 12/12/2011
  3. 3. Creating and Printing A SAS Data Set Using DATA step and PROC PRINT3 ComLabs USDI ITB 12/12/2011
  4. 4. Sekilas Tentang SAS Data set  Tipe variabel4 ComLabs USDI ITB 12/12/2011
  5. 5. Reading Instream Data Dengan DATA step, kita dapat membuat data set baru dengan menuliskan datanya di dalam SAS program DATA output-SAS-data-set; INPUT variable <$> variable; DATALINES; instream data ; RUN; Khusus untuk variabel dengan tipe karakter, kita tuliskan tanda dollar $ setelah variabel tersebut 5 ComLabs USDI ITB 12/12/2011
  6. 6. Reading Instream Data Contoh DATA work.beratbadan; INPUT Nama $ Berat_Badan; DATALINES; Teguh 60 Huda 100 Eric 55 Johannes 58 ; RUN; 6 ComLabs USDI ITB 12/12/2011
  7. 7. Reading Instream Data Memberi spesifikasi LENGTH pada variabel bertipe karakter dan informat pada variabel DATA work.beratbadan; LENGTH Nama $ 12; INPUT Nama $ Tanggal_Lahir :ddmmyy10. Berat_Badan; DATALINES; Teguh 29/10/1991 60 Huda 01/01/1990 100 Eric 01/01/1991 55 Johannes 01/01/1992 58 ; RUN; 7 ComLabs USDI ITB 12/12/2011
  8. 8. Printing Data Printing data subsetsales PROC PRINT data=work.beratbadan NOOBS; RUN; Print variabel-variabel tertentu saja PROC PRINT data=work.beratbadan NOOBS; VAR Nama Berat_Badan; RUN; Print observasi tertentu saja PROC PRINT data=work.beratbadan NOOBS; VAR Nama Berat_Badan; WHERE Berat_Badan>70; RUN; 8 ComLabs USDI ITB 12/12/2011
  9. 9. Validating and Cleaning Data for better analysis Validate data: using PROC PRINT, PROC FREQ Cleaning data: Programmatically or using PROC SORT9 ComLabs USDI ITB 12/12/2011
  10. 10. Missing Value Numeric missing value: dot “.” Character missing value: blank “” 10 ComLabs USDI ITB 12/12/2011
  11. 11. Validating Data Terkadang data yang kita miliki tidak seluruhnya valid Kita harus tahu data seperti apa yang tergolong tidak valid Contoh:  Missing value  Jenis kelamin bukan laki-laki atau perempuan  Kemungkinan salah tulis data  Data yang tidak logis  Pencilan  Duplikasi data 11 ComLabs USDI ITB 12/12/2011
  12. 12. Validating Data Using PROC PRINT PROC PRINT data=orion.nonsales; VAR Employee_ID Gender Salary Job_Title Country Birth_Date Hire_Date; WHERE Employee_ID = . or Gender not in (F,M) or Salary not between 24000 and 500000 or Job_Title = or Country not in (AU,US) or Birth_Date > Hire_Date or Hire_Date < 01JAN1974d; RUN; 12 ComLabs USDI ITB 12/12/2011
  13. 13. Validata Data Using PROC FREQ PROC FREQ dengan option NLEVEL akan menghitung frekuensi data missing value Option /noprint pada TABLE statement menahan prosedur agar analisis frekuensi dari setiap variabel tidak tampil PROC FREQ data=orion.nonsales NLEVELS; TABLE _all_ / noprint; RUN; 13 ComLabs USDI ITB 12/12/2011
  14. 14. Validating Data Untuk mengetahui data pencilan atau data ekstrim, kita dapat melihat statistik deskriptif menggunakan PROC UNIVARIATE Prosedur untuk menampilkan statistik deskriptif akan dipelajari nanti 14 ComLabs USDI ITB 12/12/2011
  15. 15. Cleaning DATA Programmaticaly Prosedur di bawah ini akan mengubah nilai data yang tidak valid pada orion.nonsales lalu menyimpan hasilnya di work.cleanDATA work.clean; SET orion.nonsales; Country=upcase(Country); if Employee_ID=120106 then Salary=26960; else if Employee_ID=120115 then Salary=26500; else if Employee_ID=120191 then Salary=24015; else if Employee_ID=120107 then Hire_Date=21JAN1995d; else if Employee_ID=12011 then Hire_Date=01NOV1978d; else if Employee_ID=121011 then Hire_Date=01JAN1998d;RUN; 15 ComLabs USDI ITB 12/12/2011
  16. 16. Cleaning Data Removing Duplicates Using PROC SORT Prosedur di bawah ini akan menghilangkan duplikasi Employee_ID pada orion.nonsalesdupes lalu menyimpan hasilnya di work.sorted PROC SORT data=orion.nonsalesdupes out=work.sorted nodupkey; BY Employee_ID; RUN; 16 ComLabs USDI ITB 12/12/2011
  17. 17. Computing Descriptive Statistics Using PROC MEANS and PROC UNIVARIATE17 ComLabs USDI ITB 12/12/2011
  18. 18. Statistik Deskriptif Tujuannya untuk mengetahui parameter-parameter dari suatu variabel numerik pada data, yaitu:  Mean, Median, Mode  Standard Deviation, Standard Error  Coeff of Variation  Sum, Sum Weights  Minimum, Maksimum, Range  Skewness, Kurtosis  N Missing Value 18 ComLabs USDI ITB 12/12/2011
  19. 19. Contoh kasus Misalnya kita ingin mengetahui statistik deskriptif berat badan (WEIGHT) orang-orang yang suka fitness Eksekusi data_fitness.sas untuk membuat data set baru orion.fitness 19 ComLabs USDI ITB 12/12/2011
  20. 20. PROC MEANS Biasanya untuk mengetahui satu atau beberapa paramater statistik deskriptif saja PROC MEANS data=orion.fitness n mean median mode std var q1 q3 qrange; VAR Weight; RUN; Berdasarkan kategori variabel tertentu (Country, Gender) PROC MEANS data=orion.fitness n mean median mode std var q1 q3 qrange; CLASS Gender; VAR Weight; RUN; 20 ComLabs USDI ITB 12/12/2011
  21. 21. PROC UNIVARIATE Lebih lengkap dibandingkan dengan PROC MEANS. Biasanya digunakan untuk menganalisis karakteristik data secara menyeluruh PROC UNIVARIATE data=orion.fitness; VAR Weight; CLASS Gender; RUN; Menampilkan semua analisis: tambahkan option ALL PROC UNIVARIATE data=orion.fitness ALL; VAR Weight; CLASS Gender; RUN; 21 ComLabs USDI ITB 12/12/2011
  22. 22. Confidence Interval Using PROC MEANS or PROC UNIVARIATE22 ComLabs USDI ITB 12/12/2011
  23. 23. Confidence Interval Menghitung penaksiran selang untuk rataan, standar deviasi, dan variansi populasi Bergantung pada tingkat kepercayaan (1-α) Misalnya kita ingin mengetahui taksiran selang rataan berat para peserta fitness dengan tingkat kepercayaan 95% (α = 0.05) 23 ComLabs USDI ITB 12/12/2011
  24. 24. Using PROC MEANS Gunakan option CLM dan ALPHA= PROC MEANS data=orion.fitness CLM ALPHA=0.05; VAR Weight; TITLE ’95% Confidence Interval for Weight; RUN; TITLE; Kita dapat mengubah nilai alpha untuk tingkat kepercayaan tertentu 24 ComLabs USDI ITB 12/12/2011
  25. 25. Using PROC UNIVARIATE Gunakan option CIBASIC(ALPHA=...) PROC UNIVARIATE data=orion.fitness cibasic(alpha=0.05); VAR Weight; RUN; Lihat hasilnya di bagian Basic Confidence Limits Assuming Normality 25 ComLabs USDI ITB 12/12/2011
  26. 26. Histogram, Boxplot, Stem-Leaf Using PROC UNIVARIATE and PROC SGPLOT26 ComLabs USDI ITB 12/12/2011
  27. 27. Creating Histogram Dengan menggunakan PROC UNIVARIATE, kita juga dapat menampilkan histogram data PROC UNIVARIATE data=orion.fitness noprint; HISTOGRAM Weight / normal(mu=est sigma=est); INSET skewness kurtosis / position=ne; RUN; Histogram tersebut dibandingkan dengan distribusi normal dengan   x dan   S 27 ComLabs USDI ITB 12/12/2011
  28. 28. Box-plot dan Stem-leaf Kita dapat menampilkan Stem-Leaf dan Box-Plot data dengan menulis option plot pada PROC UNIVARIATE PROC UNIVARIATE data=orion.fitness plot; var Weight; RUN; Hasilnya dapat dilihat di bagian Plot 28 ComLabs USDI ITB 12/12/2011
  29. 29. Box-plot Untuk menampilkan box-plot dalam bentuk file gambar, kita gunakan PROC SGPLOT PROC SGPLOT data=orion.fitness; HBOX Weight / datalabel=Name; VBOX Weight / datalabel=Name; TITLE "Box Plots of Weight"; RUN; TITLE; 29 ComLabs USDI ITB 12/12/2011
  30. 30. Hypothesis Test Using PROC UNIVARIATE30 ComLabs USDI ITB 12/12/2011
  31. 31. Hypothesis Test Uji hipothesis akan mengecek apakah rataan suatu variabel/populasi sesuai dengan perkiraan(hipotesis) kita Misalnya kita punya hipotesis awal bahwa rataan variabel weight pada data set orion.fitness sama dengan modusnya, yaitu 73.37. Lalu kita ingin mengecek kebenaran hipotesis tersebut dengan tingkat kepercayaan 95% (α = 0.05) Setelah pengujian dilakukan, kita cek p-value (Pr)  Jika Pr < α maka hipotesis awal ditolak  Jika Pr > α maka hipotesis awal tidak ditolak 31 ComLabs USDI ITB 12/12/2011
  32. 32. Hypothesis Test Tulis option mu0=73.37 pada PROC UNIVARIATE PROC UNIVARIATE data=orion.fitness mu0=73.37 alpha=0.05; VAR weight; TITLE=Uji Hipotesis Apakah Rataan Weight=73.37‘; RUN; TITLE; Lihat hasilnya pada Test for Location 32 ComLabs USDI ITB 12/12/2011
  33. 33. Hypothesis Test Perhatikan hasil pada Test for Location Karena Pr < α maka tolak hipotesis awal (mu0=73.37) Jadi, rataan variabel weight pada data set orion.fitness bukan 73.37 33 ComLabs USDI ITB 12/12/2011
  34. 34. Hypothesis Test Agar output yang dihasilkan hanya bagian Test for Location, kita tambahkan ODS statement seperti berikut ODS select testsforlocation; PROC UNIVARIATE data=orion.fitness mu0=73.37 alpha=0.05; VAR weight; TITLE=Uji Hipotesis Apakah Rataan Weight=73.37‘; RUN; TITLE; 34 ComLabs USDI ITB 12/12/2011

×