آموزش sas

mortezahaji

New member
سلام دوستانی که در مورد sas اطلاعاتی دارند
بیاین اینجا همه استفاده کنیم
 
  • Like
واکنش‌ها[ی پسندها]: biosta

mortezahaji

New member
فرم کلی ورود داده و چاپ آن
Untitled.png
خط اول نام پروژه مشخص میشه
خط دوم نام متغیر ها بترتیب ورود وارد می شوند:
عددی
کاراکتر : بعد از اسم متغیر کاراکتری باید علامت $ بگذارید
خط بعد از cards;
ورود اطلاعات: هر متفیر در هر ستون
هر سطر مربوط به یک نمونه است و جای خالی گذاشتن به معنای داده گمشده
انتهای اکثر دستورات کلمه کلیدی RUN; را خواهیم داشت
برای پرینت هم از دستور آخر وارد می شود
نکته:
اگر بخواهید داده های را پشت سر هم در یک خط وارد کنید پس از ورود نام متغییر ها در انتهای دستور Input و قبل از ; علامت @@ وارد می کنیم
اما اگر داده گمشده دارید از همان روش اول استفاده کنید چون امکان اشتباه خوانده شدن اطلاعات از سوی نرم افزار وجود دارد
اگر خواستید اطلاعات را بر اساس یک یا چند متغیر مرتب کنید از دستور زیر استفاده کنید
;PROC SORT data=name
;BY var1 ... varn
 

mortezahaji

New member
توابع توزیع احتمال در sas

Capture.PNG
مثال :
احتمال حداکثر 3 پیروزی در توزیع (binom(5,.3
دستور زیر را در SAS وارد کنید
data cdfbin5;
cdf=probbnml(.3,5,3);run;
proc print data=cdfbin5;
run;
اگر کل تابع توزیع را بخواهیم:
data cdfbin5;
do x=0 to 5;
(cdf=probbnml(.3,5,x;
run;
proc print data=cdfbin5;
run;
تابع چگالی احتمال (binom(5,.3:
data pdfbin5;
do x=1 to 5;
(if x=1 then pdf=probbnml(.3,5,x;
(else pdf=probbnml(.3,5,x)-probbnml(.3,5,x-1;
output;end;run;
proc print data=pdfbin5;
run;
شنبه ها عصر وبلاگم یادتون نره
 
آخرین ویرایش:

mortezahaji

New member
دوستان اینجا انجمنه ک ل ا س درس که نیست
هر کسی اطلاعاتی در مورد sas داره بیاد بگه حتما
خودتون می دونید که تمامی ; ها در آخر عبارات است ولی اینجا احتمالا بدلیل تفاوت فونتها و یا سبک نگارش افتاده اول عبارات
 
آخرین ویرایش:

mortezahaji

New member
چندک ها

Capture.PNG
مثال :
چارک اول توزیع t با 5 درجه آزادی
data q1t;
(Q1=tinv(.25,5;
run;
proc print data=q1t;
run;​

همه دهک های توزیع t با 4 درجه آزادی
(data t_decile(drop=p;
do i=1 to 9;
p=i/10;
(decile=tinv(p,4;
output;end;run;
proc print data=t_decile;
run;​
 
آخرین ویرایش:

mortezahaji

New member
تولید اعداد تصادفی

Capture.PNG
ده عدد تصادفی از نرمال استاندارد و seed=13907
(data norm01 (drop=i;
do i=1 to 10;
(x=rannor(13907;
output;end;run;
proc print data=norm01;
run;​

ده نمونه تصادفی از نرمال 5 و 3
(data norm53 (drop=i;
do i=1 to 10;
x=3*rannor(13907)+5;
output;end;run;
proc print data=norm53;
run;​

15 عدد تصادفی از نمایی با لاندا 5
(data exp5 (drop=i;
do i=1 to 15;
x=ranexp(0)/5;
output;end;run;
proc print data=exp5;
run;
ده عدد تصادفی از بتا 5و2
(data beta52 (keep=x;
do i=1 to 10;
(y1=rangam(1234,5;
(y2=rangam(7654,2;
(x=y1/(y1+y2;
output;end;run;
proc print data=beta52;
run;​
فرض کنید X اعداد 1 2 3 را با احتمالات 0.1 0.4 0.5 میگیرد. یک نمونه 5 عضوی از این توزیع گسسته
(data discrete (keep=x;
do i=1 to 5;
(x=rantbl(450987,0.1,0.4,0.5;
output;end;run;
proc print data=discrete;
run;​
 
آخرین ویرایش:
  • Like
واکنش‌ها[ی پسندها]: biosta

mortezahaji

New member
دوستان سلام. لطفااین 4 برنامه را خط به خط بررسی کنید . بفرمایید که هر دستور چکار می کند . توجه داشته باشید که در برنامه اول Procedure های متفاوتی داریم که هر کدام تفاوت اندکی دارند بنابراین پس از داده ها تک تک امتحان کنید ولی در برنامه های بعدی اینچنین نیست. می توانید برنامه ها را در SAS کپی کنید تا متوجه کارشان بشوید. امیدوارم اینجا فعالتر باشید تا منم بیشتر بیان. منتظر نظراتتان هستم. در مورد هر برنامه که خواستید توضیح بدید فقط همون خط کپی کنید و توضیح بدید. نقل قول نکنید لطفا. ممنون منتظرم
 
آخرین ویرایش:

mortezahaji

New member
برنامه ها

Capture.PNG
title 'it is first program';
option nonumber nodate;
proc print data=amar.stress;
var ID;
sum timemin timesec resthr;
run;
proc sort data=amar.stress out=amar.sortstress;
by ID;
run;
proc sort data=amar.stress;
by descending ID;
run;
Capture2.PNG
title 'it is an other program';
proc sort reverse out=examplesort;
by sex descending height;
run;
proc print ; run;
Capture3.PNG
title 'it is the third program';
proc print label noobs;
by sex;
run;
Capture4.PNG
title 'it is the forth program';
proc format;
value gradefmt
low-9.99=F
10-11.99=D
12-13.99=C
14-16.99=B
17-high=A;
proc format;
value $sexfmt
f=female
m=male;
proc print data=class label split='*' noobs;
format x1 $sexfmt. x2 gradefmt. x3 9.2;
run;
حتما پست قبلی را بخوانید
 
آخرین ویرایش:

mortezahaji

New member
مثلا اینطوری
; 'title 'it is first program
برای برنامه در خروجی تیتر خواهیم داشت تا زمانیکه تیتر جدیدی بیاید معتبر است
;option nonumber nodate
در خروجی شماره صفحه و تاریخ گزارش نخواهد آمد

بقیه با شما.
دیدین چقد آسونه
 

Minaa.Gh

New member
خسته نباشید‏(‏: واقعا ممنون بخاطر آموزشها و راهنمایی هاتون
 

mortezahaji

New member
خسته نباشید‏(‏: واقعا ممنون بخاطر آموزشها و راهنمایی هاتون
خواهش می کنم
ولی اگر دوستان فعال نباشن منم دیگه حوصله ای ندارم
منتظرم ببینم برنامه های بالا رو چجوری جواب می دن؟
خوبه یه مثال هم گذاشتم
 

Minaa.Gh

New member
راستشو بخوایید من واقعا دلم میخواد کار با sas رو هم یاد بگیرم‏!‏ ولی این چند روزه به قدری سرم شلوغه و اعصابم داغون که اصلا فرصت نمیکنم به نرم افزار و این جور مسائل بپردازم‏!‏ بلاتکلیفم‏!‏ دانشگام هنوز برنامه هفتگی به ما نداده که لااقل یکم تکلیفمون روشن شه‏!‏ من قول میدم بعداز اینکه از این اوضاع راحت بشم و کلاسهام شروع شه حتما بیام و تو این تاپیک فعال باشم‏!‏ فقط اگه امکانش هست لطفا این تاپیکو نبندید و بیخیالش نشید‏!‏ وگرنه مجبورم خودم تنها اشو بخونم که اصلا از این کار خوشم نمیاد ): دوباره مرسی بخاطر زحماتتون.
 

mortezahaji

New member
راستشو بخوایید من واقعا دلم میخواد کار با sas رو هم یاد بگیرم‏!‏ ولی این چند روزه به قدری سرم شلوغه و اعصابم داغون که اصلا فرصت نمیکنم به نرم افزار و این جور مسائل بپردازم‏!‏ بلاتکلیفم‏!‏ دانشگام هنوز برنامه هفتگی به ما نداده که لااقل یکم تکلیفمون روشن شه‏!‏ من قول میدم بعداز اینکه از این اوضاع راحت بشم و کلاسهام شروع شه حتما بیام و تو این تاپیک فعال باشم‏!‏ فقط اگه امکانش هست لطفا این تاپیکو نبندید و بیخیالش نشید‏!‏ وگرنه مجبورم خودم تنها اشو بخونم که اصلا از این کار خوشم نمیاد ): دوباره مرسی بخاطر زحماتتون.
باشه منتظرم ببینم کیا میان؟
ولی تا جوابایی که خواستم و ندین ادامه نمی دم
 

nerci

New member
سلام.اون روش میانبر که sas داره بلدین؟نیازی به برنامه نویسی نیست.تقریبا شبیه minitab هست.
 
بالا