Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

‫‪paytakht.in.70@gmail.

com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫معرفی قابلیتهاي برنامه ‪Stata‬‬

‫و مقایسه آن با سایر برنامههاي آماري رایج‬

‫اين برنامه يكي و شايد تنها برنامه آماري گسترده اي است كه براي كارهاي اپيدميولوژيك تنظيم شده است‪ .‬قابليتهااي آ بسايار گساترده‬
‫بوده و در بسياري از شاخههاي آماري داراي آخرين روشهاي كشف شدهاست‪ .‬در طول اين دوره شما با توانمنديهاي برنامه آشنا خواهيد شد‪ .‬ولي‬
‫در اينجا براي درك بهتر برنامه‪ ،‬محدوديتهاي آ ذكر ميشود‪.‬‬
‫‪ .1‬قيمت زياد برنامه و كتابهاي راهنماي آ‬
‫‪ .2‬نياز به دانستن دستورات و تايپ آنها‪ ،‬بر خالف برنامه ‪ SPSS‬كه عمده كارها با منوهاا انجاام مايشاود در برناماه ‪ stata‬شاما‬
‫بايست اكثر دستورات را خودتا بنويسيد‪.‬‬
‫‪ .3‬تفاوت ظاهر پنجرههاي برنامه با برنامههاي تحت ويندوز‬
‫‪ .4‬محدوديتهاي برنامه در انجام آناليزهاي بسيار پيچيده آماري مانند آناليز ‪ ،Bayesian‬و مادلهاي ‪،multistage hierarchal‬‬
‫البته در اين خصوص از ساير برنامههاي رايج مانند ‪ SPSS and SAS‬چندا كم ندارد ولي در مقابل برنامههااي اختصاياي‬
‫همچو ‪ MLwin and WinBug‬تواناييهاي كمتري دارد‪.‬‬
‫‪ .5‬توانايي كم برنامه در كار كرد در شبكه و ‪ update‬نمود بانكهاي اطالعاتي بصورت ‪online‬‬
‫‪ .6‬سخت بود ورود اطالعات‪ ،‬به همين دليل كمپاني توليد كننده همزما نرم افزار ‪ stata transfer‬را نيز توليد ميكند كه افراد‬
‫به راحتي بتوانند اطالعات خود را به برنامه وارد كنند‪.‬‬

‫‪-‬‬ ‫كارگاه‬ ‫‪stata‬‬

‫‪www.danesh-isi.ir‬‬

‫‪spss1000project@gmail.com‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫معرفی منوهاي برنامه و نحوه باز و بستن پنجرهها‬


‫اين برنامه چهار پنجره ايلي ‪ textbased‬و دو پنجره ‪ hyper text‬دارد‪ .‬پنجره هااي متناي ايالي عبارتناد از پنجاره مت‪،‬يرهاا‪ ،‬پنجاره‬
‫دستورات‪ ،‬پنجره نتايج و پنجره مرور دستورات‪ .‬پنجرههاي ‪ hyper text‬عبارتند از پنجره ‪ search‬و پنجره خروجي نتاايج كاه در قسامتهاي‬
‫بعد با آ آشنا خواهيد شد‪.‬‬

‫البته پنجرههاي ديگري نيز در اين برنامه وجود دارد كه فرعيتر هستند و بعداً با مهمترين آنها كه عبارتند از ‪ graph and do file‬آشانا‬
‫خواهيد شد‪.‬‬

‫كار عملي‪ :‬لطفاً در برنامه ‪ stata‬پنجره هاي ايلي را شناسايي نموده و نحوه باز كرد ‪ ،‬بستن‪ ،‬جابجايي و ت‪،‬يير اندازه آنها را تمارين نمايياد‪ .‬آياا‬
‫ميتوانيد اندازه خط متن پنجره نتايج را ت‪،‬يير دهيد‪.‬‬

‫از منوي باالي برنامه استفاده نماييد و سعي كنيد كاربرد گزينههاي مربوط به منوي ‪ windows and Prefs‬را بيابيد‪.‬‬

‫نحوه ورود اطالعات از طریق برنامه و یا انتقال اطالعات از سایر برنامهها‬

‫همانگونه كه بيا شد ورود اطالعات در برنامه ‪ stata‬مشكل است‪ .‬اما در يورت نياز ميتوا از منوهاي برنامه براي ساادهتار نماود كاار‬
‫استفاده كرد‪ .‬در مجموع به سه شكل ميتوا اطالعات را به برنامه وارد نماود كاه عبارتناد از ‪ .1‬اساتفاده از برناماه ‪ .2 ،stata transfer‬ورود‬
‫اطالعات بصورت دستي ‪ .3‬خواند فايلهاي اطالعاتي در برنامه به يورت مستقيم‬

‫کار عملی‪ :‬با استفاده از ‪ help‬برنامه سعی نمایید کاربرد دستورات ‪ insheet, infile and input‬را بیابید‪.‬‬
‫‪www.danesh-isi.ir‬‬

‫‪spss1000project@gmail.com‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫آيا ميتوانيد حدس بزنيد كه دستورات زير چگونه عمل ميكنند‬


‫‪. input str20 name age str6 sex‬‬
‫‪" .1‬‬ ‫‪"A. Doyle" 22 male‬‬
‫‪" .2‬‬ ‫"‪"Mary Hope" 37 "female‬‬
‫‪" .3‬‬ ‫‪"Guy Fawkes" 48 male‬‬
‫‪.4‬‬ ‫‪end‬‬

‫با استفاده از منوهاي باالي يفحه‪ ،‬گزينه ‪ edit‬را پيدا كرده و سعي نماييد با استفاده از آ دو مت‪،‬ير ‪ sex‬و ‪ age‬را ساخته و ‪ 3‬ركورد را در آ‬
‫وارد نماييد‪.‬‬

‫با استفاده از برنامه ‪ stata transfer‬يك فايل ‪ (anexaity.sav) SPSS‬را به ‪ stata‬تبديل نماييد‪.‬‬

‫براي تبديل فايل ‪ MS-excel‬نياز به دقت بيشتري است‪ .‬ميتوانيد دليل آ را بيا نماييد‪.‬‬

‫‪www.danesh-isi.ir‬‬

‫‪spss1000project@gmail.com‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫دستورات پایه‬

‫شروع کار با نرم افزار ‪STATA 10‬‬


‫گردآوري و نگارش ‪ :‬مینا مهدویان‬

‫فايل ‪ : births.dta‬اين فايل حاوي داده هاي ‪ 555‬مادري است كه در يكي از بيمارستانهاي بزرگ لند بدنبال يك حاملگي تكقلويي در اين‬
‫بيمارستا زايما كرده اند‪ .‬ليست داده هاي گردآوري شده در جدول زير نمايش داده شده اند‪.‬‬

‫نرم افزار ‪ ،STATA‬يك زيرشاخه پيش فرض براي جستجو فايلهاي دادهها دارد‪ .‬دستور ‪ pwd‬را براي نمايش مسير اين زيرشاخه اجرا كنيد‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪pwd‬‬

‫براي ت‪،‬يير زيرشاخه پيش فرض دستور زير را اجرا كنيد تا مسير برداشت فايلها به زيرشاخه ‪ c:\data\kssc‬ت‪،‬يير يابد‬

‫‪cd c:\data\kssc‬‬

‫براي بازكرد فايل داده هاي ‪ births.dta‬دستور زير را اجرا كنيد‪.‬‬

‫‪use births.dta‬‬

‫اگر مايل به بستن فايل ‪ births‬هستيد‪ ،‬دستور ‪ clear‬را اجرا كنيد‪.‬‬

‫براي مشاهده داده هاي وارد شده‪ ،‬دستورات زير را مي توانيد اجرا كنيد‪:‬‬

‫‪browse‬‬

‫‪edit‬‬

‫‪‬سوال‪ .1‬به نظر شما چه تفاوتي بين اين دستورات وجود دارد؟‬

‫براي ديد نام‪ ،‬نوع‪ ،‬شيوه نمايش و برچسب مت‪،‬يرها دستور زير را اجرا كنيد‪:‬‬

‫‪describe‬‬

‫براي مشاهده اطالعاتي بيشتر در مورد يك مت‪،‬ير‪ ،‬كدهاي استفاده شده براي ورود داده ها ‪ ،‬شروط‪ /‬كدها ‪ missing‬و توييف آماري دادهها‬
‫دستور زير را اجرا كنيد‪:‬‬

‫‪codebook gestwks , compact‬‬

‫‪‬سوال‪ .2‬با استفاده از دستور باال‪ ،‬سن مادرا در اين بررسي را توييف نمايد‪:‬‬

‫‪Mean:‬‬

‫‪SD:‬‬

‫‪Median:‬‬

‫دستور ‪list‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫براي مشاهده داده هاي مت‪،‬ير سن مادرا اين دستور را وارد كنيد‪:‬‬

‫‪list matage‬‬

‫‪‬سوال‪ .3‬چه اتفاقي مي افتد براي اينكه ادامه روند را متوقف كنيد از چه دستوري بايد استفاده كنيد؟‬

‫با استفاده از اين دستورات ميتوانيد تعداد مشاهدات را محدود كنيد‬

‫‪list matage in 1/5‬‬

‫‪list matage bweight in 11/20‬‬

‫‪list in 1/5‬‬

‫‪list in 1/5,display‬‬

‫‪list in 1/5,table‬‬

‫‪‬سوال‪ .4‬سه دستور آخر چه تفاوتي با دستورات اوليه داشت؟‬

‫دستور ‪frequency‬‬

‫از اين دستور براي ساختن جدول فراواني استفاده ميشود دستورزير را وارد كنيد‬

‫‪tabulate hyp‬‬

‫‪tabulate hyp sex‬‬

‫‪tabulate hyp sex,row‬‬

‫‪tabulate hyp sex,col‬‬

‫‪‬سوال‪ .5‬ميتوانيد تفاوت دو دستور آخر را بيا و نتايج را تفسير كنيد؟‬

‫‪‬سوال‪ .6‬با استفاده از دستورات آخر يك جدول براي مت‪،‬يرهاي جنس نوزادا )‪ (sex‬و تعداد هفته بارداري مادر كمتر از ‪ 33‬هفته‬
‫)‪ (Preterm‬رسم نماييد و تعداد ‪missing‬را مشخص كنيد‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪‬سوال‪ .3‬آيا ميتوانيد با استفاده از دستور ‪ table‬ميانگين و انحراف معيار دو مت‪،‬ير جنسيت و وز نوزادا هنگام تولد رسم كنيد و تفاوت دو‬
‫دستور ‪ table‬و ‪ tabulate‬را بيا كنيد‪.‬‬

‫دستور ‪if‬‬

‫‪list bweight if bweight <2000‬‬

‫‪‬سوال‪ .8‬ميتوانيد حدس بزنيد اين دستور چه كاري انجام ميدهد؟‬

‫‪count if bweight<=2000 & sex==1‬‬

‫‪‬سوال‪ .9‬با استفاده از دستور ‪ if‬تعداد نوزاداني كه وز آنها كمتر يا مساوي ‪ g2555‬يا بزرگتر از ‪ 4555‬باشد را محاسبه نماييد‬

‫دستور ‪gen‬‬

‫با استفاده از اين دستور مي توا مت‪،‬ير جديد ساخت‬

‫‪generate num1=1‬‬

‫‪browse‬‬

‫‪‬سوال‪ .15‬با استفاده از اين دستور مت‪،‬ير ‪ bweight‬را به مت‪،‬ير ‪ bw‬تبديل كنيد‬

‫دستور‪Label‬‬

‫"‪label data "whatever you like‬‬

‫‪describe‬‬

‫"‪label var gestwks "gestp‬‬

‫‪describe‬‬

‫سوال‪.11‬دستور اول و سوم چه تفاوتي با هم دارند؟‬

‫سوال‪.12‬بعد از وارد كرد دستور سوم چه اتفاقي در برچسب مت‪،‬ير رخ داد؟‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫دستور ‪notes‬‬

‫براي اينكه به مت‪،‬يرهاي داخل فايل نوشته هايي اضافه كنيد تا در آي نده براي استفاده دوباره آنها را به خاطر بياوريد ميتوانيد از اين دستور اضافه‬
‫كنيد‬

‫‪notes matage :maternal age in year‬‬

‫‪notes matage‬‬

‫دستور ‪recode‬‬

‫به وسيله اين دستور كد مت‪،‬يرها ت‪،‬يير ميابد‬

‫)‪recode sex 2=0,generate(sex2‬‬

‫‪tabulate sex2 sex‬‬

‫با استفاده از دستور دوم ميتوانيد ت‪،‬يير ايجاد شده را مشاهده كنيد‬

‫‪‬سوال‪ .13‬آيا ميتوانيد بگوييد بين دو مت‪،‬ير ‪sex‬و ‪ sex2‬چه تفاوتي است؟‬

‫دستور ‪summarize‬‬

‫‪sum‬‬

‫‪sum gestwks , de‬‬

‫‪sum bweight if hyp==0 , de‬‬

‫دستور آخر را تفسير كنيد‬

‫دستور ‪egen‬‬

‫زماني كه يك مت‪،‬ير مقادير متعددي دارد بايد آنها را گروه بندي كنيم و يك مت‪،‬ير جديد درست كنيم‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫)‪egen agegrp=cut( matage) ,at(20,30,35,40,45‬‬

‫‪tab agegrp‬‬

‫‪egen agegrp=cut( matage) ,at(20,30,35,40,45) icodes‬‬

‫‪‬سوال‪.14‬دستور شماره ‪ 3‬را وارد كنيد چه پي‪،‬امي مشاهده ميكنيد؟‬

‫‪‬سوال‪.15‬براي برطرف كرد اين پي‪،‬ام چه دستوري بايد وارد كنيد؟‬

‫‪‬سوال‪.16‬دستور ‪1‬و‪ 3‬چه تفاوتي با هم دارند؟‬

‫دستور‪duplicate‬‬

‫‪duplicates report‬‬

‫‪expand 3 in 1/2‬‬

‫‪duplicates drop‬‬

‫‪‬سوال‪.13‬دستور دوم را تفسير كنيد‬

‫با استفاده از اين دستور ‪ duplicate‬مت‪،‬ير وز هنگام تولد را مشخص كنيد‬

‫دستور‪tabmore‬‬

‫دستورات ‪ tabulate‬كه در باال به آ اشاره شد‪ ،‬قابليتهاي محدودي دارند‪ ،‬خصويا براي محاسبه محدوده اطمينا در زير گروه ها‪ .‬همچنين‪،‬‬
‫آنها فقط درباره مت‪،‬يرهاي كيفي آناليز توييفي را انجام مي دهند‪ .‬يك دستور بسيار كاربردي كه تقريبا همه پيامدهاي مطالعات اپيدميولوژيك‬
‫(كيفي‪ ،‬كمي‪ ،‬ميزا و ‪ ) ..‬را پوشش مي دهدف دستور ‪ tabmore‬است‪.‬‬

‫براي ديد پنجره اين دستور‪ ،‬فرما زير را اجرا كنيد‪:‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪db tabmore‬‬

‫و با انتخاب گزينه هاي مناسب‪ ،‬برآورد ميانگين و محدوده اطمينا ‪ %95‬را براي وز زما تولد به تفكيك وضعيت فشارخو مادر محاسبه‬
‫كنيد‪ .‬يورت دستور اجرايي به يورت زير خواهد بود‪:‬‬

‫‪tabmore, res(bweight) typ(metric) row(hyp) mean‬‬

‫نتيجه را تفسير كنيد‬

‫‪‬سوال‪.13‬با استفاده از اين دستور ميانگين و محدوده اطمينا ‪ %95‬هفته حاملگي به تفكيك گروههاي وز پايين نوزاد محاسبه كنيد‬

‫دستور‪effects‬‬

‫براي محاسبه رابطه بين دو مت‪،‬ير‪ ،‬شاخصهاي اثر مختلفي قابل محاسبه هستند‪ .‬مي توا اختالف ميانگين را به عنوا اثر نهايي گزارش كرد و يا‬
‫از نسبت شانس‪ ،‬نسبت خطر و يا خطر افزايش يافته استفاده كرد‪ .‬دستور ‪ effects‬امكا محاسبه تمام حاالت فوق را فراهم مي كند‪ .‬براي‬
‫ديد پنجره اين دستور فرما زير را اجرا كنيد‪:‬‬

‫‪db effects‬‬

‫مثال‪ ،‬براي محاسبه اختالف ميانگين بين مادرا فشارخوني با مادرا سالم از نظر وز زما تولد نوزاد‪ ،‬دستور زير را اجرا كنيد‪.‬‬

‫‪effects,res(bweight)typ(metric)exp(hyp) exc md‬‬

‫نتيجه را تفسير كنيد‬

‫‪‬سوال‪.18‬با استفاده از اين دستور‪ OR ،‬رابطه بين فشار خو مادر و وز كم هنگام تولد (‪ )lowbw‬را بررسي نماييد‪.‬‬

‫‪log file‬‬

‫براي ذخيره كرد نتايج حايل از آناليز بايد قبل از اجراي دستورات يك فايل متني باز نماييم‪ .‬در نگارشهاي قبلي برنامه فايل خروجي فقط‬
‫يك فرمت بنام ‪ log‬داشت ولي در نگارشهاي جديد فرمت ديگري نيز به آ اضافه شده است كه بناام ‪ smcl‬اسات‪ .‬فرمات جدياد مخصاوص‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫برنامه ‪ stata‬است و نميتوا آ را در ساير برنامهها مانند ‪ MS-word‬باز نمود ولي ‪ logfile‬به راحتي توسط سااير برناماههااي ويرايشاي‬
‫متن قابل خواند است‪ .‬با استفاده از منوهاي باالي يفحه يك ‪ logfile‬باز نماييد‪ .‬سپس دستورات زير را اجارا كارده و ‪ logfile‬را ببندياد‪.‬‬
‫دقت نماييد بعد از باز كرد و بستن ‪ logfile‬چه دستوري در يفحه مرور دستورات به يورت خودكار نوشته ميشود‪.‬‬
‫‪ logfile‬ذخيره شده را توسط برنامه ‪ wordpad‬و يا ‪ MS-word‬باز نماييد‪.‬‬

‫‪describe‬‬

‫‪summarize‬‬

‫‪tabulate hyp‬‬

‫‪do file‬‬

‫با استفاده از ‪ do file‬ميتوا دستوراتي كه در ‪ STATA‬استفاده ميشوند را ذخيره كرد‪.‬در پنجره ‪ review‬دستوراتي را كه اجرا كرده ايد‬
‫ميتوانيد به ‪do file‬تبديل كنيد‪ .‬بعد از انجام اين كار ‪ do file‬خود را باز كرده و دستورات ذخيره شده را مشاهده كنيد‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫مروري بر دستورات اولیه‬


‫و آشنایی با دستورات بیشتر‬
‫گردآوري و نگارش ‪ :‬علی اکبر حقدوست‬

‫در كارگاه دستورات زير توضيح داده خواهد شد‪ ،‬سعي نمايد بعد از شنيد توضيحات با دستورات مذكور كار نموده و سپس در جاهاي خالي در نظر گرفتهشده‪،‬‬
‫براي خود توضيحات الزم را يادداشت فرماييد تا در آينده بتوانيد از دست نويس خود براي يادآوري مطالب كمك بگيريد‪.‬‬

‫‪Use‬‬

‫‪Clear‬‬

‫‪exit, clear‬‬

‫‪cd‬‬

‫‪pwd‬‬

‫‪save‬‬

‫>‪view help <command‬‬

‫‪F3‬‬

‫‪Ctrl+Break‬‬

‫‪Display‬‬

‫‪preserve and restore‬‬

‫‪edit‬‬

‫‪browse‬‬

‫‪page up‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
paytakht.in.70@gmail.com
https://t.me/spss1000 http://spss1000.blogfa.com

count

spss1000project@gmail.com
www.danesh-isi.ir
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫ساختن متغیرهاي جدید‪ ،‬دستورات ‪ gen and egen‬و ‪recode‬‬


‫دستورات بسيار كاربردي براي ساختن مت‪،‬يرهاي جديد است‪ .‬در ادامه با كاربردهاي آ آشنا خواهيد شد‪.‬‬

‫لطفا فايل ‪ anxiety‬را باز نمايد‪.‬‬

‫مت‪،‬يرها و محتويات فايل را به دقت بررسي نماييد‪.‬‬

‫آيا ميتوانيد حدس بزنيد كه دستورات زير چه كاري را انجام ميدهند؟‬

‫‪gen score2=score‬‬

‫‪recode score2 min/8=0 8/max=1‬‬

‫به نظر شما افرادي كه دقيقاً ‪ score‬هشت داشتهاند در گروه يفر قرار گرفتهاند يا در گروه ‪ 1‬؟‬

‫براي پاسخ به اين سوال از دستور زير استفاده نماييد و سپس اطالعات را بر اساس ‪ score‬مرتب نماييد‪ .‬آيا مفهوم دستور زيار را كاامالً درك‬
‫نمودهايد‬

‫*‪brow sco‬‬

‫آيا بر اساس دستورات فوق ميتوانيد مت‪،‬ير جديدي به نام ‪ age2‬درست نماييد كه افراد ‪ 35‬سال و يا بيشتر را از بقيه جدا نمايد‪.‬‬

‫بنظر شما دستور ‪ drop age2‬چه عملي انجام ميدهد؟ امتحا كنيد‬

‫لطفاً دستورات زير را اجرا نماييد و نتيجه كار را با دستور باال مقايسه نماييد‪ .‬كاربرد اين دستور چيست؟‬

‫)‪recode age (min/34=1) (34/max=2), gen(age2‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫)‪gen age2=(age<=35‬‬

‫توجه‪ ،‬ممكن است بعد از اجراي اين دستور پيام خطا دريافت نماييد‪ ،‬با كمي دقت دليل آ را خواهيد يافت‪ .‬راه حل آ نيز قبالً گفته شده است‪.‬‬

‫)‪gen age3=group(3‬‬

‫)‪egen age4=cut (age), at(20, 25, 30,40,50‬‬

‫)‪egen age5=cut (age), at(20(3)30,40,50‬‬

‫با دقت فايل را بررسي نمايد و سعي كنيد مشخص كنيد كه دو دستور باال چه عملي را انجام دادهاند‬

‫مت‪،‬ير جديدي درست نماييد كه در آ مشخص نماييد هر فرد‪ ،‬مبتال به چند بيماري است‪ ،‬يعني اگر فردي هم باه ‪anxiety and tension‬‬

‫مبتال بود (مقدار دو داشت)‪ ،‬فرد را مبتال به هر دو بيماري دانسته و اگر هر دوي آنها يك بود‪ ،‬فرد را كامالً سالم بداند و اگر هر يك از اين مت‪،‬يار‬
‫دو عدد ‪ 2‬داشت‪ ،‬فرد داراي يك بيماري شناختهشود‪.‬‬

‫به نظر شما دستور زير چه عملي را انجام ميدهد‪ ،‬بعد از اجرا سعي كنيد با استفاده از دستور ‪ brow‬كاربرد اين دستور را كشف نماييد‪.‬‬

‫)‪egen disease=group(ten anx‬‬

‫دستور زير براي ساختن تفاوت بين ميانگين ‪ score‬از امتياز اخذ شده توسط هر فرد است‪ .‬سعي نماييد ابتدا مفهوم آ را درك كرده و سپس آ‬
‫را اجرا كنيد‪.‬‬

‫)‪egen scoave=mean(score‬‬

‫‪gen deviate=scoave-score‬‬

‫يكي از محاسن بسيار بزرگ ‪ stata‬آ است كه مي تواند ميانگين و يا ساير عملگرها را در زير گروهها حساب نمايد‪ .‬بعنوا مثال اگار بخواهياد‬
‫اختالف ميانگين اخذ شذه هر گروه جنسي را از امتياز فرد كم نماييم ميتوانيم به شكل زير عمل كنيم‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪sort sex‬‬

‫)‪by sex: egen sexscav=mean(sore‬‬

‫‪gen sexdevia=scoave-score‬‬

‫ذخیره ساختن نتایج تحلیلها و دستورات‬


‫دقت فرماييد برنامه ‪ stata‬اطالعات فايلها را هم زما با نتايج حايل از آناليز و همچنين دستورات يك جا ذخيره نمايكناد‪ .‬باراي ذخياره‬
‫نمود فايلهاي اطالعاتي بايست به يورت دائم بايد از دستور ‪ save‬استفاده نماييد‪ .‬البته براي خيره موقت اطالعاات در حافظاه جااري برناماه‬
‫ميتوانيد از دستورات ‪ preserve and restore‬استفاده نماييد‪.‬‬
‫دستور ‪ preserve‬را اجرا كنيد و سپس دستور زير را تايپ نماييد‬

‫*‪drop age‬‬

‫‪restore‬‬

‫از منوهاي باالي پنجره استفاده نماييد و فايل ت‪،‬يير يافته ‪ anxiety‬را ذخيره نماييد‪ .‬آيا ميتوانيد اسم فايل را موقع ذخيره كرد عوض نماييد‪.‬‬

‫براي ذخيره كرد نتايج حايل از آناليز بايد قبل از اجراي دستورات يك فايل متني باز نماييم‪ .‬در نگارشهاي قبلي برنامه فايل خروجي فقط‬
‫يك فرمت بنام ‪ log‬داشت ولي در نگارشهاي جديد فرمت ديگري نيز به آ اضافه شده است كه بناام ‪ smcl‬اسات‪ .‬فرمات جدياد مخصاوص‬
‫برنامه ‪ stata‬است و نميتوا آ را در ساير برنامهها مانند ‪ MS-word‬باز نمود ولي ‪ logfile‬به راحتي توسط سااير برناماههااي ويرايشاي‬
‫متن قابل خواند است‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫با استفاده از منوهاي باالي يفحه يك ‪ logfile‬باز نماييد‪ .‬سپس دستور زير را اجرا كرده و ‪ logfile‬را ببنديد‪ .‬دقت نماييد بعد از بااز كارد و‬
‫بستن ‪ logfile‬چه دستوري در يفحه مرور دستورات به يورت خودكار نوشتهميشود‪.‬‬

‫‪ logfile‬ذخيره شده را توسط برنامه ‪ wordpad‬و يا ‪ MS-word‬باز نماييد‪.‬‬

‫مجدد هما مراحل فوق را انجام داده ولي اين بار فرمت ‪ smcl‬را انتخاب نماييد‪.‬‬

‫سعي كنيد با استفاده از دستور ‪ translate‬فايل ‪ smcl‬را به فرمت ‪ logfile‬تبديل نماييد‪.‬‬

‫براي ذخيره اطالعات مربوط به دستورات تايپ شده نيز مي توا از دو روش استفاده نمود‪ .‬روش اول استفاده از فايلهاي دستوري اسات كاه‬
‫ايطالحاً به آ ‪ do‬فايل گفته مي شود و در روزهاي آينده با آنها آشنا خواهيد شد‪ .‬روش دوم استفاده از دساتور ‪#review <number of‬‬
‫>‪last commands‬است‪.‬‬

‫لطفاً دستور زير را تايپ نماييد‪:‬‬

‫‪#review 20‬‬

‫تغییر نام متغیرها‪ ،‬جابجایی آنها و تعریف نمودن برچسب (‪)label‬‬


‫مسلماً يادآوري مفهوم مت‪،‬يرها و مقادير آنها بسيار مشكل است‪ .‬براي حل اين مشكل ميتوا براي مت‪،‬يرها و مقادير آنها برچسب ساخت‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫دستورات زير را اجرا نماييد‬

‫"‪label var score "psychological score‬‬

‫"‪label define disease 1 "no" 2 "yes‬‬

‫‪label value tension disease‬‬

‫‪label value anxiety disease‬‬

‫‪brow tension anxiety‬‬

‫سعي نماييد با درك مفهوم دستورات فوق‪ ،‬براي مت‪،‬يرهاي ديگر فايل برچسب درست نماييد‪.‬‬

‫آشنایی با دستورات ‪summarize, list, describe‬‬


‫براي شناختن بهتر فايل اطالعات بايست مت‪،‬يرهاي فايل و همچنين نوع مت‪،‬يرها بررسي شوند‪ .‬دستورات فوق اين كمك را به ما مايكنناد‪.‬‬
‫لطفاً دستورات زير را اجرا نماييد‬

‫‪sum age‬‬

‫*‪sum age‬‬

‫‪sum score, detail‬‬

‫‪by trial: sum age‬‬

‫اگر اين دستور اجرا نشد بايست ابتدا فايل رابر اساس مت‪،‬ير مورد نظر (‪ )trail‬مرتب نمود‪ .‬براي اين كار بايسات از دساتور ‪ sort‬اساتفاده نماود‪.‬‬
‫براي آسانتر شد كار ميتوانيد به جاي عبارت ‪ by‬در ابتداي دستور از ‪ bys‬استفاده نمود‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫اگر در مقابل دستور ‪ sum‬هيچ مت‪،‬يري نوشته نشود‪ ،‬چه اتفاقي ميافتد‪.‬‬

‫‪list sex‬‬

‫‪list in 12/20‬‬

‫‪list in -10/l‬‬

‫دستور ‪ describe‬را با و بدو انتخاب نام مت‪،‬ير اجرا نماييد‪ .‬چه تفاوتي در نتايج آنها وجود دارد‪.‬‬

‫آشنایی با دستورات ‪sort, memory, display‬‬


‫دستورات زير را اجرا نماييد‬

‫‪dis 2*2‬‬

‫‪dis 15/_pi‬‬

‫آيا معناي ‪ _pi‬را متوجه شديد‪ .‬اگر متوجه نشديد ميتوانيد عبارت فوق را بصورت زير تايپ نمايد‪.‬‬
‫‪dis _pi‬‬

‫‪sort age‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪sort age sex‬‬

‫دستورات فوق فايل را بصورت يعودي مرتب ميكنند‪ .‬آيا ميتوانيد روشي را بيابيد كه فايل مذكور را به يورت نزولاي بار اسااس ‪ age‬مرتاب‬
‫نمايد‪ .‬اگر توانستيد با دو خط دستور اين كار را انجام دهيد براي خود دست بزنيد!‬

‫يكي از مشكال ت بسيار رايج زماني كه شما با يك فايل بسيار بزرگ كار ميكنيد مشكل حافظه است‪ .‬البته منظور حافظه رايانه و برنامه است نه‬
‫حافظه خودتا ! براي حل اين مشكل شما مي توانيد فضاي اختصاص يافته به برنامه را افزايش دهيد‪ .‬اين كار البته ممكان اسات باعاا كااهش‬
‫سرعت كامپيوتر شود‪ .‬در يورت نياز توضيحات كاملتر در جلسه دادهخواهد شد‪ .‬براي آنكه مشخص نماييد كه فضاي اختصاص يافته باه برناماه‬
‫چقدر است ميتوانيد از دستور زير استفاده نماييد‪.‬‬

‫‪memory‬‬

‫از دستور ‪ describe‬نيز براي بررسي وضع حافظه مي توا استفاده كرد‪ .‬آيا كاربرد آ را در قسمت قبل دريافتهايد‪.‬‬

‫براي ت‪،‬يير ميزا حافظه بايست از دستور زير استفاده كرد‬

‫‪set memory # b/k/m/g‬‬

‫توضيحات دستور در كارگاه بيا ميشود‪.‬‬

‫البته راه ديگري نيز وجود دارد و آ فشرده نمود فايل اطالعاتي است‪ .‬براي اين كار از دستور ‪ compress‬استفاده مايشاود‪ .‬باا اساتفاده از‬
‫دستور ‪ describe‬حجم فايل جاري را محاسبه نماييد و سپس دستور ‪ compress‬اجرا و مجدد حجم آ را بسنجيد‪ .‬چه نتيجهاي ميگيريد‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫آشنایی با ‪functions‬‬
‫عملگرها كمك مي كنند تا بتوا آسانتر و دقيقتر محاسبات را انجام داد‪ .‬به يورت كلي عملكرها به چند دسته ايلي تقسيم ميشوند‬

‫‪ .1‬عملكرهاي رياضي مانند ‪_pi ،^ ،/،*،- ،+‬؛ اين عملگرها عمدتاً براي محاسبات استفاده ميشوند‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪ .2‬عملگرهاي متني كه بر روي مت‪،‬يرهاي متني عمليلتي را انجام ميدهند‪ .‬مثالً دو متن را با يكديگر تركيب ميكنند (تركيب ناام و‬
‫نام خانوادگي افراد كه در دو مت‪،‬ير جدا ذخيره شدهاند) و يا عالئم زايد را حذف ميكنند ماثالً ‪ space‬هااي اضاافه را برميدارناد‪.‬‬
‫همچنين ميتوا از آنها براي ساختن مت‪،‬يرهاي جديد بر اساس چند ‪ character‬اول و يا آخر يك مت‪،‬ير استفاده نمود‪.‬‬

‫آيا شما براي آخرين عملگرهاي متني كاربرد ميشناسيد‪ .‬كدهاي مربوز به مثالً روستاهاي كشور را بياد بياوريد‪.‬‬

‫‪ .3‬عملگرهاي مقايسهاي مانند عالئم عالمتهاي بزرگتر‪ ،‬كوچكتر و مساوي و يا نامساوي (=!)‬

‫‪ .4‬عملگرهاي منطقي مانند برابر بود كه با دو عالمت مساوي (==) نمايش داده ميشود و عالمت ‪ )|( or ،)! ( not‬و ‪)&( and‬‬

‫حال با دانستن اين عملگرها لطفاً تمرينات زير را انجام دهيد‪ .‬لطفاً قبل از ديد اجرا اين فراميد‪ ،‬سعي نماييد مفهوم عبارت را درك و مقادرا‬
‫آ را پيش بيني نماييد‪.‬‬

‫)‪disp sqrt(4‬‬

‫‪list if age<35‬‬

‫‪list if age==35‬‬

‫‪list if age>35 & sex==2‬‬

‫)‪list if (age>35 & sex==2) |(age<=30 &sex==1‬‬

‫‪count if age!=35‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫در برنامه بعضي مت‪،‬يرهاي سيستم وجود دارند كه نقش بسيار زيادي در تسهيل فرآيند كار ايفا مينمايند‪ .‬به عنوا مثال مقدار ‪ _n‬برابار شاماره‬
‫ركورد است و ‪ _N‬برابر شماره آخرين ركورد در كل فايل و يا زير گروه مورد نظر ميباشد‪ .‬براي درك بهتر مفهوم مثالهاي زير را انجام دهيد‪.‬‬

‫‪gen id=_n‬‬

‫‪gen samsize=_N‬‬

‫‪bys sex: gen samsize2=_N‬‬

‫يكي از نقاط قوت برنامه آ است كه شما ميتوانيد به تك تك مقادير موجود در خانههاي يك فايل اطالعاتي ارجااع نمايياد‪ .‬باه عناوا مثاال‬
‫عبارت ]‪ age[10‬يعني سن ركورد شماره ‪15‬‬

‫براي روشن شد موضوع اگر بخواهيم مقدار ت‪،‬ييرات ‪ score‬را از هر مرحله ‪ trial‬تا مرحله بعد در يك مت‪،‬ير جديد ذخيره نماييم ميتاوانيم باه‬
‫شكل زير عمل كنيم‪.‬‬

‫‪sort subject trial‬‬

‫]‪by subject: gen diff=score-score[_n-1‬‬

‫‪bro subject trial score diff‬‬

‫لطفاً بيا نماييد عبارت زير چه عملي را انجام ميدهد‬

‫‪bys subject: gen meansco=sum(score)/_n‬‬

‫]‪by subject: replace meansco=meansco[_N‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫بعد از اجر اي هر دستور آماري‪ ،‬مقادير گزارش شده در مت‪،‬يرهاي موقت در حافظه ذخيره ميشود‪ .‬بعنوا مثال بعد از اجراي دساتور ‪ sum‬ماي‪-‬‬
‫توا مقدار ميانگين محاسبه شده در مت‪،‬يري موقتي ذخيره ميشود كه با عبارت )‪ r(mean‬شناختهمايشاود‪ .‬باراي درك بهتار موضاوع لطفااً‬
‫دستورات زير را اجرا نماييد‪.‬‬

‫‪sum age‬‬

‫)‪dis r(mean‬‬

‫)‪gen agedev=age-r(mean‬‬

‫تمرین زیر انتخابی است‬

‫با استفاده از برنامه به سادگي مي توا مت‪،‬يرهاي جديدي ساخت و از برنامه خواست بر اساس قوانين مشخصي آنها را پر نمايد‪ .‬به عنوا مثال‬
‫دستورات زير از برنامه ميخواهند كه يك فايل با ‪ 155‬ركورد جديد ساخت و مت‪،‬ير وز را با ميانگين ‪ 35‬و انحراف معيار ‪ 15‬و با توزيع نرمال‬
‫ساخت‬

‫‪preserve‬‬

‫‪set obs 100‬‬

‫)(‪gen weight=uniform‬‬

‫)‪replace age=invnorm(weight‬‬

‫‪.replace age=age*10+75‬‬

‫آشنایی با دستورات ‪language syntax: if, by, weight, options‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫براي اجراي بهتر و دقيقتر دستورات اين امكا وجود دارد تا آناليز را به زير گروه خايي محدود نمود و يا براي هر ياك از ركوردهاا وز در‬
‫نظر گرفت‪.‬‬

‫به يورت كلي دستورات ‪ stata‬فرمت كلي زير را دارند‬

‫‪by(s) <varlist>:commad <varlist> if….in…using…, options‬‬


‫مثال‬

‫‪bys sex: sum age if trail= =2, detail‬‬


‫توجه‪ :‬بايست دقت نمود كه براي ‪ if‬حتماً دو عالمت = در كنار يكديگر بايست تايپ شود (==)‪.‬‬

‫همچنين از دستور ‪ weight‬ميتوا براي وز داد به ركوردها استفاده نمود‪.‬‬

‫‪Preserve‬‬
‫‪Clear‬‬
‫‪set obs 2‬‬
‫‪gen sex=1‬‬
‫‪recode sex 1=2 if _n= =2‬‬
‫‪gen number=_n*100‬‬
‫‪tab sex‬‬
‫]‪tab sex [fweight=number‬‬
‫البته ميتوا با استفاده از دستور ‪ expand‬نيز فايل را باز نموده و تحليلها را در آ انجام داد‪.‬‬

‫‪expand number‬‬
‫‪list‬‬
‫‪restore‬‬
‫آشنايي با دستورات ‪recode‬‬

‫دستور ‪ recode‬كمك مي كند كه مقادير يك مت‪،‬ير را ت‪،‬يير و با قادير جديد جايگزين نمود‪.‬‬

‫‪Preserve‬‬
‫‪recode sex 1=. in -40/l‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
paytakht.in.70@gmail.com
https://t.me/spss1000 http://spss1000.blogfa.com

tab sex
restore
recode sex (1=2) (2=1), gen(rsex)
recode anx ten (1=2) (2=1), pre(r)
recode score (min/10=1 low) (10/15=2 intermediate) (15/max=3 high), gen(gscore)

spss1000project@gmail.com
www.danesh-isi.ir
paytakht.in.70@gmail.com
https://t.me/spss1000 http://spss1000.blogfa.com

‫ و دستورات مشابه در توصیف متغیرها‬table ‫آشنایی با دستور‬


‫ در اين قسمت سعي ميشود با تمريناات زيار‬.‫ توضيح دادهشدهاست‬tab ‫ به اندازه كافي در خصوص دستور‬،‫در جزو داده شده در ابتدا كارگاه‬
‫ لذا با دقت ابتدا دستورات زير را مطالعه و سعي نماييد مفهوم آنها را درك كنيد و سپس آنهاا را‬.‫ به نمايش گذاشته شود‬tab ‫قابليتهاي مهم دستور‬
.‫اجرا فرماييد‬

tab ten

tab ten anx

tab1 ten anx

tab sex, sum(score)

table sex, c(n trial mean age sd age med age min score)

bys sex:tab ten anx

tab ten sex, col

tab ten sex, row

tab ten sex, chi

tab ten sex, exact

table sex ten, c(mean age)

table sex ten, c(mean age) center

table sex ten, c(mean age) center row col

table sex ten, c(mean age) center row col format (%9.2f)

table sex ten anx

table sex ten anx, c(mean score)

spss1000project@gmail.com
www.danesh-isi.ir
paytakht.in.70@gmail.com
https://t.me/spss1000 http://spss1000.blogfa.com

tabstat score age

tabstat score age, by(sex)

bys ten: tabstat score age

tabstat score age, stat(mean sd min max) format(%3.1g)

tabstat score age, stat(mean sd min max) col(stat) format(%3.1g)

tabstat score age, stat(mean sd min max cv q) col(stat) format(%3.1g)

tab trial, plot

tab trial, gen(tr)

table ten anx [freq=sex]

tabi 30 20 \ 20 10

spss1000project@gmail.com
www.danesh-isi.ir
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫ترسیم نمودارهاي مختلف و ذخیره سازي‬


‫گردآوري و نگارش ‪ :‬علی میرزازاده‬

‫لطفا فايل ‪ birhts.dta‬را باز كنيد‪.‬‬

‫‪BOX PLOT‬‬ ‫‪‬‬

‫براي ترسيم ‪ box plot‬وز نوزاد هنگام تولد‪ ،‬دستور زير را اجرا نماييد‪:‬‬

‫‪graph box bweight‬‬

‫تعداد زيادي از افراد زير خط پاييني قرار گرفته اند‪ .‬به نظر شما شكل توزيع چگونه است؟ اين خط بر چه مبنايي ترسيم شده است‪.‬‬

‫با اجراي دستور زير‪ ،‬توزيع وز نوزاداني كه از مادرا مبتال به فشارخو باال متولد شده اند را با مادرا نرمال مقايسه كنيد‪:‬‬

‫)‪graph box bweight, over(hyp‬‬

‫اين كار را به تفكيك نوزادا پسر و دختر انجام دهيد‪:‬‬

‫) ‪graph box bweight, over(hyp) over( sexalph‬‬

‫به جاي )‪ ،over(sexalpha‬از )‪ by(sexalpha‬استفاده كنيد‪ ،‬و دو نمودار را با هم مقايسه كنيد‪.‬‬

‫‪HISTOGRAM‬‬ ‫‪‬‬

‫براي ترسيم هيستوگرام وز زما تولد‪ ،‬دستور زير را اجرا كنيد‪:‬‬

‫‪twoway histogram bweight‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫براي ت‪،‬يير مبناي شروع محور ‪ x‬از يفر‪ ،‬پهناي هر ستو برابر با ‪ 555‬گرم و تبديل محور ‪ y‬به دريد فراواني‪ ،‬دستور باال را به يورت زير ت‪،‬يير‬
‫دهيد‪:‬‬

‫)‪twoway histogram bweight , percent start(0) width(500‬‬

‫براي تمرين بيشتر‪ ،‬توزيع وز ن وزاد را به تفكيك بر اساس جنسيت نوزاد و وضعيت فشارخو مادر ترسيم كنيد‪.‬‬

‫جالب است كه در ‪ STATA‬مي توا نمودار هيستوگرام را براي نمايش داده هاي كمي گسسته هم بكار برد‪ ،‬اما تنظيم آ كمي مشكل است‪.‬‬

‫‪twoway histogram hyp , discrete xlabel(0 1) xscale(range(-1 2)) gap(50) percent‬‬

‫‪SCATTER PLOT‬‬ ‫‪‬‬

‫براي نمايش نمودار نقاط پراكنده بين وز زما تولد نوزاد و هفته حاملگي كه زايما در آ اتفاق افتاده‪ ،‬دستور زير را اجرا كنيد‪:‬‬

‫‪twoway scatter bweight gestwks‬‬

‫به نظر شما‪ ،‬چه رابطه اي بين اين دو وجود دارد؟‬

‫براي نشا داد خط رگرسيو در نمودار فوق‪ ،‬بايد از دو نمودار روي هم افتاده ‪ scatter ،‬و ‪ ،lfit‬استفاده كنيد‪:‬‬

‫)")‪twoway (scatter bweight gestwks) (lfit bweight gestwks) , xtitle("Gestation Perid, (weeks‬‬
‫)"‪ytitle("Birth Weight, gr‬‬

‫حالت كلي دستور به يورت زير است‪:‬‬

‫‪twoway ( … , options ) (… , options ) , options‬‬

‫آيا با استفاده از دستورات فوق‪ ،‬مي توانيد خط رگرسيو رابطه وز زما تولد نوزاد و هفته حاملگي را براي نوزادا پسر و دختر را جداگانه ( اما‬
‫در يك نمودار) ترسيم كنيد؟‬

‫بسيار خوب‪ ،‬اجازه دهيد اجزاء دستور زير را با هم مرور كنيم‬

‫‪twoway (scatter bweight gestwks if sex==1, msymbol(x) color(black)) (lfit bweight gestwks if‬‬
‫‪sex==1 , color(black)) (scatter bweight gestwks if sex==2, msymbol(smcircle) color(red)) (lfit‬‬
‫))"‪bweight gestwks if sex==2, color(red)) , legend( label(1 "Boys") label(3 "Girls‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪Bar Chart‬‬ ‫‪‬‬

‫براي ترسيم نمودار ستوني براي نمايش ميانگين وز زما تولد به تفكيك جنسيت و ابتال مادر به فشارخو باال‪ ،‬دستور زير را اجرا كنيد‪:‬‬

‫)‪graph bar (mean ) bweight, over(hyp) over(sexalph‬‬

‫تصور كنيد كه وز نوزادا در يك ماهگي هم اندازه گيري شود و با نام ‪ weight1‬وجود داشته باشد‪ ،‬براي نمايش ميانگين وزنها در كنار هم‬
‫در يك نمودار ستوني به تفكيك جنسيت و ابتال مادر به فشارخو باال چه دستوري را پيشنهاد مي كنيد‪ .‬براي مثال‪ ،‬به وز نوزادا هر يك‬
‫‪ 555‬گرم افزوده و مت‪،‬ير ‪ weight1‬را بسازيد‪ ،‬و سپس نمودار آنرا ترسيم كنيد‪.‬‬

‫چند دستور تکمیلی‬ ‫‪‬‬

‫دستور زير را به خاطر داريد‪:‬‬

‫‪twoway scatter bweight gestwks ,‬‬

‫به نظر شما اضافه كرد هر يك از دستورهاي زير به ادامه خطر باال چه كاري را انجام مي دهند ‪:‬‬

‫)‪title(TITLE‬‬

‫)‪subtitle(SUBTITLE‬‬

‫)‪caption(CAPTION‬‬

‫)‪note(NOTE‬‬

‫))‪by (sexalph, title(TITLE‬‬

‫))‪xtitle (Gestationa period in weeks, size(large‬‬

‫)‪ylabel(1000(500)5000‬‬

‫براي ذخيره نمودار در حافظه موقت‪ ،‬از گزينه )…(‪ name‬استفاده كنيد‪:‬‬

‫)‪scatter bweight gestwks , name(g1‬‬

‫براي نمايش مجدد نمودار ‪ ،g1‬دستور زير را اجرا كنيد‪:‬‬

‫‪graph display g1‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫و براي ذخيره ا براي هميشه‪ ،‬از ‪ save‬استفاده كنيد‪ .‬مواظب حالت ‪ replace‬باشيد‪:‬‬

‫‪graph save g1 , replace‬‬

‫پسوند ذخيره شده ‪ gph‬است‪ .‬براي ذخيره نمودار به فرمتهاي ديگر ‪ ،‬مانند ‪ ،tif‬از دستور زير زماني كه پنجره نمايش نمودار باز است استفاده‬
‫كنيد‪:‬‬

‫‪graph export g1.tif , as(tif) replace‬‬

‫برخي از ‪option‬هاي عمومي دستور ‪ graph‬را در جدول زير مرور كنيد‪:‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫مبناي وزندهی و آنالیز پیمایشهاي کشوري با‬


‫نمونه گیري خوشهاي یکمرحله اي‬
‫گردآوري و نگارش ‪ :‬علی میرزازاده‬

‫یک مثال ساده براي درک مفهوم وزن دهی‪:‬‬

‫براي برآورد دريد مصرف كنندگا سيگار در مردا كشور منالند‪ ،‬تعداد ‪ 15‬نفر با استفاده از روش نمونه گيري طبقه اي مورد مصاحبه قرار‬
‫گرفتند‪ .‬از هر استا (استا شمالي=‪ ،1‬استا جنوبي=‪ 5 )2‬نفر در سه گروه سني (‪ )age_g=1,2,3‬وارد مطالعه شدند‪ .‬يك نفر در استا‬
‫جنوبي در گروه سني ‪ 2‬به سوال مربوط به سابقه مصرف سيگار پاسخي نداده است‪ .‬جمعيت مردا كل كشور ‪ 955‬نفر (استا شمالي = ‪555‬‬
‫مرد‪ ،‬استا جنوبي = ‪ 455‬نفر) است‪ .‬جمعيت هدف هر گروه سني در هر استا در ستو ‪ pop‬ارائه شده است‪.‬‬

‫بدليل اينكه نمونه گيري ‪ Proportional to Size‬نبوده است و ميزا پاسخ دهي در همه گروهها يكسا نيست‪ ،‬لذا الزم است كه براي‬
‫دستيابي به بهترين (‪ ) Unbais‬برآورد از دريد مصرف سيگار‪ ،‬دريد وز داده شده را محاسبه كنيم‪ .‬جدول زير را براي محاسبه مبناي وز‬
‫(براي هر گروه سني به تفكيك استا ) كامل كنيد‪.‬‬

‫‪Target pop.‬‬ ‫‪None Missing‬‬ ‫‪Weight‬‬


‫‪id‬‬ ‫‪province age_g‬‬ ‫‪smk‬‬
‫‪=N‬‬ ‫‪=n‬‬ ‫‪= N/n‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪200‬‬
‫‪2‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪200‬‬
‫‪3‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪250‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪250‬‬
‫‪5‬‬ ‫‪1‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪100‬‬
‫‪6‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪250‬‬
‫‪7‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪100‬‬
‫‪8‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪.‬‬ ‫‪100‬‬
‫‪9‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪100‬‬
‫‪10‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪50‬‬
‫مجموع‬
‫اكنو كه خانه هاي جدول باال را پركرديد‪ ،‬براي انجام محاسبات فوق در برنامه ‪ ، STATA‬فايل ‪ menaland.dta‬را باز كنيد‪.‬‬

‫لطفا بدو اينكه كاغذ را برگردانيد‪ ،‬با استفاده از دستور ‪ egen‬و تابع ‪ count‬تعداد افرادي كه در هر گروه سني در هر استا به سوال مربوط‬
‫به مصرف سيگار پاسخ داده اند را محاسبه كنيد‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫سپس با تقسيم تعداد جمعيت هر گروه سني در هر استا بر تعداد پاسخ دهندگا ‪ ،‬مت‪،‬ير ‪ weight‬را ايجاد نماييد‪.‬‬

‫[مگه نگفتم اول انجام دهيد‪ ،‬بعد به اين يفحه نگاه بندازيد !!]‬

‫همانطور كه شما هم متوجه شديد‪ ،‬دستورات زير محاسبات باال را انجام خواهند داد‪:‬‬

‫)‪bys province age_g : egen non_miss = count(smk‬‬

‫‪gen weight= pop/non_miss‬‬

‫با دستور ‪ ، list‬يكي بود نتيجه محاسبات را با جدول يفحه قبل كنترل كنيد‪ .‬سپس براي محاسبه مجموع ستونها‪ ،‬دستور زير را بايد اجرا‬
‫كنيد‪:‬‬

‫)‪tabstat pop non_miss weight , stat (sum‬‬

‫به نظر شما‪ ،‬آيا اعداد ستونها منطقي هستند؟ مفهوم هريك چيست؟‬

‫با محاسبه دريد وز داده شده‪ ،‬پنجره ‪ one-way tables‬را با استفاده از دستور زير باز كنيد‪:‬‬

‫‪db tab‬‬

‫و با استفاده از پنجره ‪ weight‬و انتخاب مناسب مت‪،‬يرهاي الزم‪ ،‬محاسبه الزم را انجام دهيد‪ .‬نتيجه اجراي دستور زير‪ ،‬دريد سيگار ‪%68/42‬‬
‫است‪.‬‬

‫[‪tabulate smk [aweight = weight‬‬

‫تفاوت دريد وز داده شده را از دريد اوليه‪ ،‬چقدر است؟ دليل اين تفاوت در چيست؟‬

‫به نظر شما آيا با توجه به روش نمونه گيري‪ ،‬آيا برآورد باال بهترين برآورد است و يا بايد نكات ديگر را مد نظر قرار داد؟‬

‫آنالیز داده هاي برنامه مراقبت غیر واگیر ‪ -‬پیمایش کشوري سال ‪5831‬‬

‫اين پيمايش مطابق با روش پيشنهادي سازما جهاني بهداشت )‪ (Stepwise approach‬و با روش نمونه گيري خوشه اي يك مرحله اي‬
‫در ‪ 35‬استا كشور (هر استا ‪ 55‬خوشه ‪ 25‬تايي) انجام شده است‪ .‬فايل ايلي داده هاي اين پروژه شامل سي هزار نفر و مت‪،‬يرهاي بسياري‬
‫است كه تنها به انتخاب تعدادي از اين افراد (‪ 28‬استا و در هر استا حدودا ‪ 5‬خوشه ‪ 25‬نفري) و تنها بخشي از مت‪،‬يرهاي آ اكتفا شده است‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫فايل ‪ STEPs85.dta‬را باز كنيد‪ .‬با اجراي دستورات زير‪ ،‬مبناي وز دهي داده ها‪ ،‬مت‪،‬ير ‪ ،weight‬را ايجاد نماييد‪.‬‬

‫)‪bys id_pop : egen non_miss = count(s1‬‬

‫‪gen weight= pop/non_miss‬‬

‫براي تنظيم ساختار داده ها بايستي مشخص كنيد كه كدام مت‪،‬ير حاوي اطالعات مربوط به كد طبقه‪ ،‬كداميك مربوط به كد خوشه و كدام مت‪،‬ير‬
‫حاوي وز داده ها ست‪ .‬براي اينكار دستور زير را اجرا كنيد‪:‬‬

‫‪db svyset‬‬

‫در قسمت ‪ sampling units‬مت‪،‬ير خوشه ها = ‪ ، partici2‬در قسمت ‪ Strata‬مت‪،‬ير طبقه ها = ‪ particip‬و در قسمت ‪Sampling‬‬
‫‪ weight variable‬مت‪،‬ير ‪ weight‬را جايگذاري كنيد و كليد ‪ OK‬را فشار دهيد ‪:‬‬

‫)‪svyset partici2 [pweight=weight], strata(particip) vce(linearized‬‬


‫)‪singleunit(missing‬‬

‫پس از اجراي اين دستور‪ ،‬دكمه ‪ save‬را فشار دهيد تا براي هميشه ساختار نمونه گيري در اين فايل داده ها ذخيره شود‪.‬‬

‫براي ديد ساختار ايجاد شده‪ ،‬دستور ‪ svydes‬را اجرا نماييد‪:‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
paytakht.in.70@gmail.com
https://t.me/spss1000 http://spss1000.blogfa.com

svydescribe

‫ اشتباهي رخ داده است؟ كدام استا تعداد خوشه كافي را گرد آوري نكرده است؟‬،‫آيا در خوشه ها گرد آوري شده‬

:‫ دستور زير را اجرا كنيد‬،‫براي بررسي دقيقتر خوشه ها در هر طبقه‬

svydescribe , finalstage

:‫ دستورات زير را اجرا كنيد‬،s1 ‫ مانند‬،‫ير‬،‫براي بررسي دقيقتر در مورد يك مت‬

svydescribe s1

svydescribe s1, finalstage

‫ در نسخه‬.‫ نمايش داده مي شوند‬STATA ‫ در‬svy ‫ دز يك مجموعه واحد در قالب دستورات‬survey analysis ‫تمامي دستورات مربوط به‬
: ‫يير ساختار داده اند‬،‫ به يورت حالت زير ت‬svy ‫ دستورات‬،‫ و باالتر‬15

Old Command New Command


svygnbreg svy: gnbreg
svyheckman svy: heckman
svyheckprob svy: heckprob
svyintreg svy: intreg
svyivreg svy: ivreg
svylogit svy: logit
svymean svy: mean
svymlogit svy: mlogit
svynbreg svy: nbreg
svyologit svy: ologit
svyoprobit svy: oprobit
svypoisson svy: poisson
svyprobit svy: probit
svyprop svy: proportion
svyratio svy: ratio
svyregress svy: regress
svytab svy: tabulate
svytotal svy: total

spss1000project@gmail.com
www.danesh-isi.ir
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫براي محاسبه دريد فراواني مصرف سيگار ‪ ،‬دستور زير را اجرا كنيد‪ .‬پيشنهاد مي شود از پنجره دستور براي اجراي استفاده كنيد‪.:‬‬

‫‪svy linearized : tabulate s1, se ci percent obs‬‬

‫اگر به تفكيك جنسيت‪ ،‬دريد فراواني مصرف سيگار را الزم دارد‪ ،‬دستور زير را اجرا كنيد‪:‬‬

‫‪svy linearized : tabulate s1 c1, col se percent obs‬‬


‫دستور فوق بدو استانداردسازي انجام شده است‪ .‬براي نمايش محدوده اطمينا ‪ %95‬دريد استاندارد شده مصرف سيگار به تفكيك جنسيت ‪،‬‬
‫ت‪،‬ييرات زير را در دستور باال اعمال نموده و دوباره دستور را اجرا كنيد‪:‬‬

‫)‪svy linearized : tabulate s1 c1, stdize(id_std‬‬


‫‪stdweight(std_pop) row percent ci‬‬

‫براي تمرين بيشتر در مورد كار با دستورات ‪ ،survey‬ابتدا شاخص توده بدني )‪ (bmi‬را با استفاده از مت‪،‬يرهاي وز و قد ساخته‪ ،‬سپس‬
‫ميانگين و محدوده اطمينا ‪ %95‬استاندارد شده آنرا را براي گروههاي سني به تفكيك جنس محاسبه نماييد‪.‬‬

‫سپس ‪ Adjusted OR‬را براي تاثير مت‪،‬يرهاي سن‪ ،‬جنس و سيگار بر چاقي (‪ )bmi≥30‬محاسبه كنيد‪.‬‬

‫[براي اطمينا از جوابهاي خود‪ svy_analysis.do ،‬را اجرا كنيد‪].‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫تمرین عملی‬

‫بررسی رابطه پلی مرفیسم ‪ NAT2‬و ‪ GSTM1‬با سرطان مثانه – مطالعه موردشاهدي جورشده‬

‫گردآوري و نگارش ‪ :‬علی میرزازاده‬

‫هدف ايلي اين تمرين‪ ،‬آشنايي با مفاهيم آمار مقدماتي‪ /‬پيشرفته و انجام آناليز آماري با نرم افزار ‪ STATA‬مي باشد‪ .‬در طاول ايان تمارين اثار‬
‫جورسازي بر نتايج‪ ،‬اثر انتخاب كنترلهاي مختلف‪ ،‬اثر مخدوش كننده ها و اثر متقابل مت‪،‬يرهاي مختلف بر رابطه بين ژنهاي مختلاف باا سارطا‬
‫مثانه مورد توجه قرار مي گيرد‪.‬‬

‫گروه مورد‪ :‬شامل ‪ 458‬مورد جديد و قديم سرطا مثانه تاييد شده براساس يافته هاي بافتشناسي است‪ .‬اين موارد در مركاز ثبات سارطا ‪12‬‬
‫بيمارستا در ‪ 5‬استا كشور اسپانيا بين سالهاي ‪1985-86‬ثبت شده بودند‪ .‬بيمارستانهاي واقع در ‪ 2‬استا بزرگ‪ ،‬جمعيت تحات پوشاش كماي‬
‫داشتند درحاليكه بيمارستانهاي ‪ 3‬استا كوچك ديگر‪ ،‬دريد پوشش نسبتا خوبي‪ ،‬يعني تقريبا برابر با جمعيت منطقاه خاود‪ ،‬را دارا بودناد‪ .‬تقريباا‬
‫نيمي از موارد‪ ،‬موارد جديد بيماري بودند‪.‬‬

‫گروه کنترل‪ :‬دو نوع كنترل‪ ،‬بيمارستاني و مبتني بر جمعيت‪ ،‬در اين مطالعه انتخاب شده اند‪ 559 .‬شاهد بيمارستاني از ليسات بيماارا پاذيرش‬
‫شده طوري انتخاب شدند كه با گروه مورد براساس سن (‪ 5±‬سال)‪ ،‬جنس و محل زندگي يكسا باشند‪ .‬بيماراني كه تشخيصي (هايي) مرتبط باا‬
‫عوامل خطر مورد مطالعه داشتند‪ ،‬از گروه كنترل خارج شدند‪ .‬اين تشخيصها شامل بيماري مزمن ريوي‪ ،‬بيماري قلباي‪ ،‬عفونات دساتگاه ادراري‪،‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫هماچوري و سرطا راههاي هوايي بودند‪ 515 .‬شاهد انتخاب شده از جامعه‪ ،‬از ليست شهروندي موجود در شهرداري طوري انتخاب شدند كاه از‬
‫نظر سن و جنس با گروه مورد يكسا باشند‪.‬‬

‫مصاحبه ‪ :‬تمامي اطالعات الزم با استفاده از يك پرسشنامه و در منزل افراد تكميل شد‬

‫متغیرهاي اصلی طرح ‪:‬‬

‫در جدول يفحه بعد‪ ،‬مت‪،‬يرهاي مورد بررسي ليست شده اند‪.‬‬

‫سیگار‪ :‬به يورتهاي مختلف اندازه گيري شده است‪ Pack-years .‬با ضرب تعداد سيگار در روز )‪ (Pack/day‬در سالهاي مصرف سيگار‬
‫محاسبه شده است‪ .‬براي ساخت مت‪،‬ير "‪ "smkstat5‬اين مت‪،‬ير در ‪( 365‬روز) ضرب شده است‪.‬‬

‫پلی مرفیسم ژنی‪:‬‬

‫‪ : NAT2‬در اين تمرين‪ ،‬استيالسيو سريع و متوسط در يك طبقه و استيالسيو كند در يك طبقه گروهبندي شاده اناد‪ .‬هفات پلاي مرفيسام‬
‫)‪ (Single Nucleotide Polymorphisms – SNPs‬مورد بررسي قرار گرفتند‪ .‬افراد هموزيگاوت باراي آللهااي استيالسايو ساريع‬
‫(‪ )NAT2*4, NAT2*11A, NAT2*12B, NAT2*12C, NAT2*13‬در گروه با فنوتياپ استيالسايو ساريع قارار گرفتناد‪ .‬افاراد‬
‫هموزيگوت براي آللهاي استيالسيو كند‪ ،‬در گروه فنوتيپ استيالسيو كند طبقه بندي شدند‪ .‬افراد هتروزيگوت (يك آلل كند و يك آلل سريع‬
‫‪ )NAT2‬در گروه فنوتيپ استيالسيو با سرعت متوسط جاي گرفتند‪.‬‬

‫حذف ‪ :GSTM1‬در اين تمرين‪ ،‬افراد بدو حذف يا هتروزيگوت با يك حذف‪ ،‬در گروه پاياه (‪ )reference group : -/+ ،+/+‬و افاراد باا‬
‫دو حذف (‪ )-/-‬در گروه مقابل جاي گرفتند‪.‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
paytakht.in.70@gmail.com
https://t.me/spss1000 http://spss1000.blogfa.com

‫ساختار فایل داده ها‬

:‫ را مشاهده مي كنيد‬،‫يرهاي مختلفي كه در اين تحقيق گردآوري شده اند‬،‫توضيحات مربوط به مت‬

variable Codes Description


id_num patient ID number
0= control Case control status
case
1= case
1= case Case control status:
typ_co 2= Hospital based control case/ Hospital based control / Community based
3= Community based control control
0= female Self explanatory
gender
1= male
age continues Self explanatory
0= less than 59 years Age in 4 categories
1= 59-65 years
ager
2= 66-71 years
3= more than 71 years
0= never Smoking status : 2 categories
smkstat2
1= ever
0= never Smoking status : 3 categories
smkstat3 1= exsmoker
2= current
0= never Smoking status in 5 categories
1= exsmoker
smkstat5 2= 1-10,000 pyrs
3= 10,001-15,000 pyrs
4= more than 15,000 pyrs
avg_ncig continues average number of cigarettes per day
0= never smoke avg_ncig in 4 categories
1= less than 11 cig./day
numcigr
2= 11-20 cig./day
3= more than 20 cig./day
smktime continues Total duration of smoking in years
0= never smoked smktime recoded to 5 categories
1= less than 30 years smoking
smktimer 2= 30-40 years smoking
3= 41-48 years smoking
4= more than 48 years smoking
continues Number of packyears ( cumulative smoking
packyrs
exposure)

spss1000project@gmail.com
www.danesh-isi.ir
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪variable‬‬ ‫‪Codes‬‬ ‫‪Description‬‬


‫“‪0= “++/+-‬‬ ‫‪GSTM1 Polymorphism‬‬
‫‪gstm1‬‬
‫"‪1= “--‬‬
‫”‪0= “Rapid/Intermediate‬‬ ‫‪NAT2 Polymorphism‬‬
‫‪nat2‬‬
‫”‪1= “Slow‬‬

‫نحوه اجراي تمرین‪:‬‬

‫هدف ايلي مطالعه بررسي رابطه پلي مرفيسم ‪ NAT2‬و ‪ GSTM1‬با سرطا مثانه است‪ .‬عالوه براين‪ ،‬بدنبال بررسي اثر مخدوش كنندگي و‬
‫اثر متقابل ديگر مت‪،‬يرها بر اين رابطه هستيم‪.‬‬

‫افراد در سه گروه جداگانه‪ ،‬داده ها را مورد تحليل قرار داده و در روز پاياني گزارش آناليز را ارائه مي نمايند‪:‬‬

‫گروه ‪ : H‬گروهي كه تنها شاهدهاي بيمارستاني را در نظر گرفته و آناليز را تنها با انتخاب اين گروه از شاهدها انجام مي دهند‪.‬‬ ‫‪‬‬
‫گروه ‪ : P‬گروهي كه تنها شاهدهاي مبتني بر جامعه را در نظر گرفته و آناليز را تنها با انتخاب اين گروه از شاهدها انجام مي دهند‪.‬‬ ‫‪‬‬
‫گروه ‪ :O‬گروهي كه بدو توجه به نوع شاهدها‪ ،‬آناليز را بر روي داده ها انجام مي دهند‪.‬‬ ‫‪‬‬

‫مراحل انجام كار به يورت زير خواهد بود‪:‬‬

‫‪ ‬آشنا شد با فايل داده ها‬


‫‪ ‬انجام ‪Label‬گذاري و ‪ Recoding‬الزم‬
‫‪ ‬توييف داده ها و گزارش ‪Crude Analysis‬‬
‫‪ ‬ارزيابي ‪ Confounding‬و ‪Interaction‬‬
‫‪ ‬ارزيابي احتمال وجود ‪Selection bias‬‬
‫‪ ‬بررسي ‪Dose-response‬‬
‫‪ ‬تفسير يافته ها‪ ،‬نوشتن خاليه مقاله‬
‫‪ ‬ارائه روش آناليز و نتايج بدست آمده‬

‫‪‬دستورکار‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪ .5‬آشنایی با تمرین و سوال پژوهش‪ :‬در مورد نوع مطالعه‪ ،‬اطالعات جمع آوري شده و اهداف ايلي آ بحا كنيد‪ .‬به نظار شاما‬
‫چه فرضياتي را مي توا براي اين اهداف نوشت‪.‬‬

‫‪ .2‬آشنایی با فایل داده ها‪ :‬فايل ‪ bladder.dta‬را باز كنيد‪ .‬دستورات ‪ describe‬و ‪codebook‬را اجرا كنيد‪ .‬با توجه به هدف‬
‫ايلي‪ ،‬كدام مت‪،‬يرها نقش وابسته‪ ،‬كدام مت‪،‬يرها نقش مستقل و كداميك ممكن است نقش مخدوش كنندگي داشته باشاند؟ در ماورد‬
‫انتخاب بهترين مت‪،‬يرها بحا كنيد‪.‬‬

‫‪ .8‬آماده سازي فایل داده ها‪:‬‬

‫‪ ‬مت‪،‬ير ‪ case‬كه مشخص كننده افراد مورد از شاهد است كه به يورت ‪ 0‬و ‪ 1‬وارد شده است‪ .‬دستور ‪ tab‬را اجرا كنيد و‬
‫خروجي را مشاهده كنيد‪ .‬ديد ‪ 0‬و ‪ 1‬چندا جالب نيست‪ .‬با اساتفاده از دساتور ‪ label‬باه روش زيار مت‪،‬يار ‪ case‬را‬
‫برچسب گذاري كنيد‪:‬‬

‫‪label define case_la 0 control 1 case‬‬

‫‪label value case case_la‬‬

‫مت‪،‬يرهاي ديگر مانند ‪ gender ،typ_co‬و ‪ ...‬را با روش باال برچسب گذاري كنيد‪.‬‬

‫[هركجا كه احساس كرديد كه كامال دستور را ياد گرفتيد‪ ،‬براي برچسب گذاري بقيه فايل ‪ lab_val.do‬را اجرا كنيد‪].‬‬

‫‪ ‬مت‪،‬ير ‪ age‬را براساس جدول مت‪،‬يرها‪ ،‬با استفاده از دستور زير گروه بندي نماييد‪:‬‬

‫)‪recode age min/59=0 59/66=1 66/72=2 72/max=3, gen(ager‬‬

‫كنترل كنيد كه گروه بندي را درست انجام داده باشيد‪ .‬سپس‪ ،‬همين گروه بندي را با دستور ‪ egen‬و گزينه ‪ cut‬انجام‬
‫دهيد‪.‬‬

‫براي تمرين بيشتر‪ ،‬مت‪،‬يرهاي ‪ smktimer‬و ‪numcigr‬را براساس گروه بندي ذكر شده در جدول مت‪،‬يرها بسازيد‪.‬‬

‫[اگر با اين دو دستور آشنايي كامل داريد‪ ،‬تنها فايل ‪ recode.do‬را اجرا نماييد‪].‬‬

‫‪ .4‬انجام آنالیز توصیفی‪:‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪ ‬با استفاده از دستورات ‪ tabulate‬و ‪ summarize‬داده هاي اين طرح را توييف نماييد‪ .‬براي مثال‪ ،‬دستور زير را اجرا‬
‫كنيد و خروجي مربوطه را بررسي نماييد‪:‬‬

‫‪tab typ_co‬‬

‫‪tab case smkstat2, row m‬‬

‫‪bys case : sum age, de‬‬

‫اين كار را براي توييف بقيه مت‪،‬يرهاي طرح به تفكيك گروه مورد و شاهد انجام دهيد‪.‬‬

‫براي اجراي دستورات باال مي توانيد از پنجره آنها هم استفاده كنيد‪ .‬براي اين كار دستور زير را براي دسترسي به پنجره‬
‫دستور‪ tabulate‬اجرا كنيد‪:‬‬

‫‪db tabulate‬‬

‫[اگر با دستورات فوق آشنا شده ايد‪ ،‬براي مشاهده جواب اين بخش‪ ،‬توييف داده ها‪ describe.do ،‬را اجرا كنيد‪].‬‬

‫‪ .1‬انجام آنالیز خام بدون درنظر گرفتن همسان سازي‪:‬‬

‫‪ ‬محاسبه ‪ OR‬خام خام (‪ :)Unadjusted - Crude Crude‬با استفاده از دستورات ‪ tabmore‬و ‪ effects‬رابطه‬
‫بين ‪ tabulate‬و ‪ summarize‬داده هاي اين طرح را توييف نماييد‪ .‬براي مثال‪ ،‬دستور زير را اجرا كنيد و خروجي‬
‫مربوطه را بررسي نماييد‪:‬‬

‫‪tab case gstm1 , col‬‬

‫‪tabmore, res(case) typ(binary) row(gstm1) odds ci‬‬

‫‪mhodds case gstm1‬‬

‫‪effects, res(case) typ(binary) exp(gstm1) exc or‬‬

‫‪ ‬با استفاده از دستورات باال‪ ،‬ابتدا اثر پلي مرفيسم ‪ NAT2‬را بر سرطا مثانه بررسي كنيد و سپس به سواالت زير پاسخ‬
‫دهيد‪:‬‬

‫چه مواجهه هاي ديگري با خطر ابتال به سرطا مثانه رابطه دارند؟‬ ‫‪-‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫مفهوم ‪ OR‬براي هر يك از اين مواجههها چيست؟‬ ‫‪-‬‬

‫مفهوم ‪ OR‬براي مت‪،‬يرهاي سن و جنس چيست؟‬ ‫‪-‬‬

‫[اگر با دستورات فوق آشنا شده ايد‪ ،‬براي مشاهده جواب اين بخش‪ ،‬تحليل خام‪ crude.do ،‬را اجرا كنيد‪].‬‬

‫‪ .6‬انجام آنالیز تطبیق یافته بدون درنظر گرفتن همسان سازي‪:‬‬

‫‪ ‬در تمرين قبل رابطه بين ‪ GSTM1‬و ‪ NAT2‬با سرطا مثانه بررسي شد‪ .‬مشاهده شد كه اين دو پلي مرفيسم با سرطا‬
‫مثانه رابطه دارند‪ .‬در مطالعات گذشته نيز اثر و مكانيسم اين دو بررسي و اثبات شده است‪ .‬علي رغام باه نظار شاما چارا‬
‫بعضي از افراد كه اين دو ژنوتيپ را دارند (از نظر ژنتيكي مستعد بيماري هستند)‪ ،‬به بيماري سرطا مبتال نشده اند؟‬

‫‪ ‬در تمرين قبل نشا داديد كه سيگار با سرطا مثانه رابطه دارد‪ .‬براي بررسي تاثير سيگار (مت‪،‬ير سوم) بر رابطه باين ژ و‬
‫سرطا مثانه‪ ،‬مسير زير را دنبال كنيد‪.‬‬

‫‪effects, res(case) typ(binary) exp(gstm1) str(smkstat2) exc or‬‬

‫آيا سيگار ‪ Effect Modifier‬رابطه ‪ GSTM1‬با سرطا مثانه است؟ آيا سيگار رابطه ‪ GSTM1‬و سرطا مثانه را‬
‫مخدوش كرده است؟‬

‫به جاي ‪ smkstat2‬از مت‪،‬ير ديگري ‪ ،smkstat3،‬كه سيگار را دقيق تر اندازه گيري كرده است‪ ،‬استفاده كنيد‪ .‬آيا در‬
‫تفسير شما فرقي كرد؟‬

‫با استفاده از دستور ‪ ،mhodds‬آناليز باال را تكرار كنيد‪ .‬خروجي ها را با هم مقايسه كنيد‪.‬‬

‫‪ ‬رابطه پليمرفيسم ‪ NAT2‬با سرطا مثانه را با درنظر گرفتن نقش احتمالي سيگار بررسي كنيد‪.‬‬

‫[اگر با دستورات فوق آشنا شده ايد‪ ،‬براي مشاهده جواب اين بخش‪ ،‬تحليل خام‪ crudeum.do ،‬را اجرا كنيد‪].‬‬

‫‪ .7‬مدلسازي رابطه ‪ SNPs‬با خطر سرطان مثانه با درگرفتن تاثیر سایرمتغیرها و همسان سازي‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪ ‬با استفاده از مدل لجستيك رابطه بين ‪ GSTM1‬و سرطا مثانه را بررسي نماييد‪ .‬دستور زير را براي انجام اين كار اجرا‬
‫كنيد‪:‬‬

‫‪logit case gstm1 gender age‬‬

‫مفهوم اين ضرايب را با يكديگر بحا كنيد‪ .‬آيا روشي را براي بهتر بيا كرد مفهوم اين ضرايب مي شناسيد؟‬

‫به نظر شما چرا سن و جنس در مدل آورده شده اند؟ تفسير ضرايب آنها چيست؟‬

‫‪ ‬با استفاده از مدل لجستيك‪ ،‬رابطه بين مواجهه هاي ديگر با سرطا مثانه را بررسي كنيد‪ .‬نتايج را به يورت‬
‫‪ Crude OR‬بيا كنيد‪.‬‬

‫‪ ‬براي بررسي تاثير سيگار (سه حالتي) بر رابطه بين ‪ GSTM1‬و سرطا مثانه‪ ،‬مدل زير را اجرا كنيد‪:‬‬

‫‪xi : logistic case gstm1 i.smkstat3*gstm1 gender age , or‬‬

‫مفهوم اين ضرايب را با يكديگر بحا كنيد‪.‬‬

‫‪ ‬به نظر شما اگر كسي در حال حاضر سيگار مصرف كند و ژنوتيپ ‪ GSTM1 = -/-‬را داشته باشد‪ ،‬شانس چندبرابري‬
‫براي ابتال به سرطا مثانه را نسبت به فرد غيرسيگاري ‪ GSTM1 -/-‬خواهد داشت؟‬

‫‪ ‬جدول زير را كامل نماييد‪ .‬راهنمايي ‪ :‬براي محاسبه خط آخر از دستور زير ‪ lincom‬استفاده شده است‪:‬‬

‫‪lincom nat2 + _Ismkstat3_2 + _IsmkXnat2_2, or‬‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫جدول ‪ – 5‬بررسی رابطه ‪ NAT2‬با سرطان مثانه به تفکیک وضعیت مصرف سیگار‬

‫)‪Odds Ratio (CI 95%‬‬ ‫مت‪،‬يرهاي پيشگويي كننده‬


‫در طول زندگي سيگار مصرف نكرده است‬
‫‪1‬‬ ‫استيالسيو سريع ‪ /‬متوسط‬
‫( ‪………..‬‬ ‫‪-‬‬ ‫)‬ ‫استيالسيو كند‬

‫در گذشته سيگار مصرف مي كرده اما سيگار را ترك كرده است‬
‫( ‪………..‬‬ ‫‪-‬‬ ‫)‬ ‫استيالسيو سريع ‪ /‬متوسط‬
‫( ‪………..‬‬ ‫‪-‬‬ ‫)‬ ‫استيالسيو كند‬

‫در حال حاضر سيگار مصرف مي كند‬


‫( ‪………..‬‬ ‫‪-‬‬ ‫)‬ ‫استيالسيو سريع ‪ /‬متوسط‬
‫) ‪4.41 (2.63 – 7.40‬‬ ‫استيالسيو كند‬

‫‪ ‬تفسير شما از يافته هاي جدول باال چيست؟ چه توجيه بيولوژيكي براي اين يافته ها مي توانيد داشته باشيد؟‬

‫‪ .3‬انجام آنالیزهاي دیگر‪ ،‬دوز ‪ -‬پاسخ‪:‬‬

‫‪ ‬رابطه بين متوسط تعد اد مصرف سيگار در روز با سرطا مثانه را با مدل لجستيك در حالتهاي زير بررسي نماييد‪:‬‬

‫تعداد مصرف سيگار = ‪avg_ncup‬‬ ‫‪-‬‬

‫دسته بندي تعداد مصرف سيگار و ورود آ به مدل به يورت خطي = ‪numcigr‬‬ ‫‪-‬‬

‫دسته بندي تعداد مصرف سيگار و ورود آ به مدل به يورت طبقه اي (‪i.numcigr = )Categorical‬‬ ‫‪-‬‬

‫‪ ‬به نظر شما كدام مدل براي بررسي رابطه ژ ‪ NAT2‬و تعداد سيگار با سرطا مثاله بهترين است؟ معيار شما براي‬
‫انتخاب چيست؟‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬
‫‪paytakht.in.70@gmail.com‬‬
‫‪https://t.me/spss1000‬‬ ‫‪http://spss1000.blogfa.com‬‬

‫‪ .9‬بررسی اثر انتخاب کنترلهاي مختلف براي نتایج‪:‬‬

‫‪ ‬بر اساس بهترين مدل انتخاب شده در بخش هشتم‪ ،‬اثر كنترلهاي مختلف را در تفسير رابطه ‪ NAT2‬بر سرطا مثانه‬
‫بررسي نماييد‪.‬‬

‫‪ .51‬گزارش یافته ها و ارائه آن‪:‬‬

‫‪ ‬نتيجه مراحل ‪ 9‬گانه باال را در قالب يك خاليه مقاله در ‪ 255‬كلمه بنويسيد و يك نفر را از گروه خود براي ارائه گزارش‬
‫كار گروه انتخاب نماييد‪.‬‬

‫‪ ‬مي توانيد براي ارائه خود‪ ،‬از جدول و نمودار براي نمايش ‪ OR‬خام و تعديل شده استفاده نماييد‬

‫‪spss1000project@gmail.com‬‬
‫‪www.danesh-isi.ir‬‬

You might also like