استاتا- فصل سوم:
مبانی Stata
در این بخش، ما به برخی از عملکردهای پایهای مربوط به استفاده از برنامه Stata، مانند فایلهای Stata، نحوه نوشتن دستورات و دیگر موارد میپردازیم. قبل از اینکه به تحلیل دادهها بپردازیم، مهم است که این مسائل پایهای را بدانید.
فایلهای Stata
Stata به طور کلی سه نوع فایل تولید میکند یا با آنها کار میکند. اینها عبارتند از:
فایل دادهای: فایل دادهای شامل دادههایی است که برای تحلیل در Stata استفاده میشوند و پسوند آن ".dta" است.
فایل خروجی: فایل خروجی شامل نتایج تحلیل دادهها و دستورات است. این فایل همچنین "فایل لاگ" نامیده میشود و پسوند آن میتواند ".smcl" یا ".log" باشد.
فایل دستورات (Do-file): فایل دستورات در Stata به نام "Do-file" شناخته میشود و پسوند آن ".do" است. این فایل برای ذخیره مجموعهای از دستورات برای تحلیل دادهها استفاده میشود. دستورات ذخیره شده در یک Do-file میتوانند هر زمان که لازم باشد دوباره استفاده یا اجرا شوند. دستورات میتوانند مستقیماً نوشته شوند و یا در یک Do-file ویرایش شوند برای تحلیل.
فایل دادهای
باز کردن (دریافت) یک فایل دادهای موجود
در بخش قبلی (بخش 2)، ما نحوه ایجاد یک فایل دادهای در Stata را بررسی کردیم. اگر شما قبلاً یک فایل دادهای Stata روی کامپیوتر خود ذخیره کردهاید، میتوانید آن را به روشهای مختلف باز کنید، مانند استفاده از منوی کشویی، نوشتن دستور یا استفاده از آیکون.
فرض کنید که شما یک فایل دادهای Stata به نام "Data_3.dta" روی کامپیوتر خود دارید و مکان آن C:\Users\HP\Desktop است. اگر بخواهید فایل دادهای را باز کنید، مراحل یا دستور زیر را دنبال کنید:
از منوی File (در نوار منو) > Open > به دسکتاپ بروید و فایل دادهای "Data_3" را انتخاب کنید > Open
یا از دستور زیر استفاده کنید:
C:\Users\HP\Desktop\Data_3, clear |
یا روی آیکون کلیک کنید > به دسکتاپ بروید > "Data_3" را انتخاب کنید > Open
یا روی فایل دادهای که میخواهید باز کنید دوبار کلیک کنید.
فایل خروجی یا فایل لاگ
هنگامی که شما دادهها را تحلیل میکنید، خروجیها (نتایج) در پنجره نتایج Stata نمایش داده میشوند. خروجیها به طور خودکار ذخیره نمیشوند و شما باید آنها را در یک فایل ذخیره کنید. در Stata، فایلهای خروجی "فایلهای لاگ" نامیده میشوند. فایلهای لاگ خروجیها و دستورات را شامل میشوند، اما گرافها را شامل نمیشوند. گرافهایی که در Stata تولید میشوند باید به طور جداگانه ذخیره شوند.
ذخیره خروجیها در فایل لاگ
فایل لاگ میتواند در دو فرمت مختلف ذخیره شود:
فرمت Stata (که به فرمت smcl هم معروف است): در این فرمت، فایل لاگ پسوند ".smcl" خواهد داشت. فایلهای لاگ در فرمت Stata فرمتهایی که در پنجره نتایج میبینیم را حفظ میکنند و این فرمت پیشفرض است.
فرمت ASCII: در فرمت ASCII (متن عادی)، فایل پسوند ".log" خواهد داشت.
ما معمولاً از فرمت Stata (فرمت smcl) برای ذخیره خروجیها استفاده میکنیم. با این حال، فرمت "smcl" میتواند در صورت لزوم به فرمت "ASCII" تبدیل شود.
فرض کنید که شما میخواهید دادههای خود را تحلیل کرده و خروجیها را در فایلی به نام "Results_3" ذخیره کنید. برای ذخیره خروجیها، در ابتدای تحلیل فایل لاگ را ایجاد کنید (شما همچنین میتوانید فایل لاگ را در میانه تحلیل ایجاد کنید) با استفاده از گزینههای نوار منو یا دستور به شرح زیر:
از منوی File (در نوار منو) > Log > Begin... > مکان ذخیره فایل را انتخاب کنید > نام "Results_3" را در جعبه "File name" وارد کنید > فرمت .smcl را انتخاب کنید (معمولاً پیشفرض) > Save
یا از دستور زیر استفاده کنید:
log using C:\Users\HP\Desktop\Results_3 |
دستور بالا فایل لاگ با نام "Results_3.smcl" را در دسکتاپ باز/ایجاد میکند.
پس از باز شدن فایل لاگ، شما میتوانید هر زمان که خواستید ذخیره خروجیها را به طور موقت متوقف کنید (تعلیق کنید) با استفاده از مراحل یا دستور زیر:
File > Log > Suspend
یا از دستور زیر استفاده کنید:
log off |
شما میتوانید ذخیره خروجیها را در هر نقطه از جلسه تحلیل خود از سر بگیرید با استفاده از مراحل یا دستور زیر:
File > Log > Resume
یا از دستور زیر استفاده کنید:
log on |
فایل لاگ به طور خودکار در پایان جلسه تحلیل زمانی که از Stata خارج میشوید ذخیره و بسته میشود. با این حال، شما میتوانید هر زمان که خواستید فایل لاگ را ذخیره و ببندید با استفاده از مراحل یا دستور زیر:
File > Log > Close
یا از دستور زیر استفاده کنید:
log close |
باز کردن یک فایل لاگ موجود
برای باز کردن یک فایل لاگ موجود که قبلاً روی کامپیوتر شما ذخیره شده است (مثلاً شما میخواهید فایل "Results_3.smcl" را که در دسکتاپ ذخیره شده است باز کنید)، مراحل زیر را دنبال کنید:
File > Log > View > Browse > فایل "Results_3" را از دسکتاپ انتخاب کنید > Open > Ok
اگر میخواهید نتایج تحلیل جدیدی را به فایل لاگ قبلاً ذخیره شده اضافه (ضمیمه) کنید (مثلاً "Results_3.smcl")، مراحل یا دستور زیر را دنبال کنید:
File > Log > Begin > فایل "Results_3" را از دسکتاپ (یا از محلی که ذخیره شده است) انتخاب کنید > Save > Append to existing file > Ok
یا از دستور زیر استفاده کنید:
log using C:\Users\HP\Desktop\Results_3, append |
شما باید مسیر فایل را مشخص کنید، در غیر این صورت دستور اجرا نخواهد شد.
اگر میخواهید محتویات یک فایل لاگ را با خروجیهای یک تحلیل جدید جایگزین کنید (مثلاً "Results_3.smcl")، از دستور زیر استفاده کنید:
log using C:\Users\HP\Desktop\Results_3, replace |
این دستور تمام محتویات فایل لاگ قبلاً ذخیره شده را حذف کرده و خروجیهای جلسه تحلیل جدید را ذخیره میکند.
مرور خروجیهای Stata در پنجره نتایج
شما میتوانید خروجیهای تحلیلها را در پنجره نتایج با استفاده از موس یا دکمههای صفحه کلید (<Shift+Page Up> یا <Shift+Arrow>) مرور کنید.
Stata به طور معمول (پیشفرض) هر بار که پنجره نتایج از اطلاعات پر میشود، توقف میکند مگر اینکه شما کلیدی را روی صفحه کلید فشار دهید. ما میتوانیم از Stata بخواهیم که به صورت پیوسته ادامه دهد (یعنی خروجیها را بدون توقف ارائه دهد) تا زمانی که خروجیها کامل شوند با استفاده از دستور زیر:
set more off |
برای برگشت به حالت توقف، از دستور زیر استفاده کنید:
set more on |
کپی جداول از خروجیهای Stata به MS Word
شما میتوانید یک جدول (یا دستورات یا اطلاعات دیگر) را از پنجره خروجیهای Stata (نتایج) به MS Word کپی کنید. برای انجام این کار:
- جدول را از پنجره خروجی با کشیدن موس انتخاب کنید.
- روی موس کلیک راست کرده و گزینه "کپی" را انتخاب کنید.
- به فایل MS Word بروید جایی که میخواهید جدول را پیست کنید.
- روی موس کلیک راست کرده و گزینه "چسباندن" (Paste) را انتخاب کنید.
تبدیل فرمت فایل لاگ از smcl به فرمت ASCII
شما میتوانید یک فایل لاگ Stata را از فرمت smcl (.smcl) به فرمت ASCII (.log) تبدیل کنید (و بالعکس). فرض کنید که میخواهید فایل لاگ "Results_3.smcl" واقع در دسکتاپ خود را به "Results_3.log" تبدیل کنید. از دستور یا مراحل زیر استفاده کنید:
دستور زیر:
translate C:\Users\HP\Desktop\Results_3.smcl C:\Users\HP\Desktop\Results_3.log |
یا:
از منوی File > Log > Translate > فایل "Results_3.smcl" را از دسکتاپ با کلیک روی تب "Browse" بخش "Input File" انتخاب کنید > Open > روی تب "Browse" بخش "Output File" کلیک کرده و نام فایل "Results_3.log" را وارد کنید > Save > Translate
فایل Do-file یا فایل دستورات Stata
ایجاد یک Do-file
شما میتوانید یک فایل Do-file ایجاد کرده و دستورات را در ویرایشگر Do-file برای استفادههای بعدی بنویسید. برای باز کردن ویرایشگر Do-file (یک فایل Do-file جدید)، از مراحل یا دستور زیر استفاده کنید:
Window > Do-file Editor > New Do-file Editor
یا از دستور زیر استفاده کنید:
doedit |
یا روی آیکون کلیک کنید.
دستور بالا برای باز کردن یک فایل Do-file جدید است. شما میتوانید فایل Do-file را همانند ذخیرهسازی یک فایل در MS Word ذخیره کنید:
File (در ویرایشگر Do-file) > Save as > انتخاب مکان و نام فایل > Save
برای باز کردن یک فایل Do-file ذخیره شده (مثلاً برای باز کردن فایل Do-file به نام “Test.do”)، از هر یک از دستورات زیر استفاده کنید. شما باید مسیر فایل و نام فایل را برای باز کردن فایل Do-file مشخص کنید، در غیر این صورت دستور کار نخواهد کرد.
doedit Test.do |
یا
doedit C:\Users\HP\Desktop\Test.do |
این دستور فایل Do-file به نام "Test.do" را که در دسکتاپ ذخیره شده است باز میکند. روش جایگزین این است که:
روی آیکون کلیک کنید، سپس
File (در ویرایشگر Do-file) > Open > File… ctrl+O > به مکان فایل بروید و فایل را انتخاب کنید > Open
تمام دستورات باید با حروف کوچک در فایل Do-file نوشته شوند. هنگام نوشتن دستورات، Stata پایان هر خط دستور را به عنوان پایان آن دستور در نظر میگیرد. اگر دستور شما از یک خط فراتر برود، از سه علامت بکاسلش (///) در انتهای خط استفاده کنید قبل از اینکه به خط بعدی ادامه دهید. سپس Stata در نظر میگیرد که دستور به خط بعدی ادامه دارد.
پس از ایجاد یک فایل جدید Do-file، میتوانید دستورات را از پنجره Review در Stata کپی کرده و در فایل Do-file بچسبانید.
ذخیرهسازی دستورات در یک فایل Do-file
فرض کنید که از برخی دستورات برای تحلیل دادههای خود استفاده کردهاید. شما میتوانید این دستورات را در پنجره Review مشاهده کنید. اگر میخواهید دستورات در پنجره Review را در یک فایل Do-file ذخیره کنید، مراحل زیر را دنبال کنید:
- دستور(ها)یی که میخواهید کپی کنید را انتخاب کنید
- روی دکمه راست موس کلیک کنید
- گزینه Send to Do-file Editor را انتخاب کنید (این کار بهطور خودکار یک فایل Do-file با دستورات انتخابشده در آن باز خواهد کرد)
- فایل را ذخیره کنید (File > Save as…)
شما خواهید دید که تمام دستورات انتخابشده در یک پنجره جداگانه (Do-file Editor) قرار دارند. شما میتوانید دستورات را در این فایل ویرایش کرده و فایل را برای اجرای بعدی ذخیره کنید. دستورات همچنین میتوانند از پنجره Review، پنجره Results یا فایل log با استفاده از گزینههای "Copy" و "Paste" به یک فایل Do-file کپی و چسبانده شوند.
اجرای دستورات در یک فایل Do-file
اجرای دستورات ذخیرهشده در یک فایل Do-file ساده است. ابتدا، فایل Do-file را در Do-file Editor باز کنید (بخش 3.1.3.1) که شامل دستورات مورد نظر شما برای اجرا است. برای اجرای یک دستور منفرد یا چند دستور متصل در یک زمان که در فایل Do-file نوشته شده است، مراحل زیر را دنبال کنید:
دستور(ها)یی که میخواهید اجرا کنید را با استفاده از موس انتخاب کنید
Tools > Execute (Do) را انتخاب کنید، یا روی آیکون در Do-file Editor کلیک کنید
این دستورها دستورات انتخابشده در فایل Do-file را اجرا خواهند کرد. اگر از مراحل زیر بدون انتخاب هیچ دستور در فایل Do-file (پس از باز کردن فایل Do-file در ویرایشگر Do-file) استفاده کنید، Stata تمام دستورات ذخیرهشده در فایل Do-file را اجرا خواهد کرد.
Tools > Execute (do)
برای اجرای تمام دستورات در یک فایل Do-file (مثلاً فایل Do-file “Test.do” که در دسکتاپ ذخیره شده است)، از دستور زیر استفاده کنید:
do C:\Users\HP\Desktop\Test.do |
این دستور تمام دستورات ذخیرهشده در فایل Do-file “Test.do” را بدون باز کردن فایل Do-file در ویرایشگر Do-file اجرا خواهد کرد.
دستور زبان پایه
بیشتر محققان به دلیل سادگی و راحتی استفاده از دستورات Stata برای تحلیل دادهها استفاده میکنند. یک فرم معمول از دستور زبان دستورات Stata به صورت زیر است:
command [varlist] [if exp] [in] [weight] [, options] |
یا
[prefix:] command [varlist] [if exp] [in] [weight] [, options] |
command: دستور Stata برای تحلیل دادهها را نشان میدهد. این دستور به ما میگوید که Stata چه چیزی را تحلیل خواهد کرد. دستورات Stata حساس به حروف بزرگ و کوچک هستند. همه دستورات باید با حروف کوچک نوشته شوند، در غیر این صورت کار نخواهند کرد.
varlist: "varlist" به معنای "لیست متغیرها" است. این لیست نشاندهنده مجموعه متغیرهایی است که برای اجرای دستور به آنها نیاز است. در بسیاری از دستورات، لیست متغیرها اختیاری است. اگر "varlist" مشخص نشود، دستور روی تمام متغیرهای موجود در مجموعه دادهها اجرا خواهد شد. برای مثال، اگر دستور زیر را استفاده کنید:
summarize age |
Stata آمار خلاصه متغیر "age" را نمایش میدهد. اگر فقط دستور "summarize" را بدون نام متغیر بنویسید، Stata آمار خلاصه تمام متغیرهای موجود در مجموعه دادهها را نمایش خواهد داد. به جای نوشتن کامل دستور "summarize"، میتوانید فقط از سه حرف اول آن استفاده کنید، مانند "sum" برای دریافت آمار خلاصه.
if exp: "if exp" به معنای "اگر عبارت" است. این بخش شرایطی را که باید در حین تحلیل مد نظر قرار گیرند مشخص میکند. این بخش اختیاری است. به عنوان مثال، اگر بخواهید آمار خلاصه متغیر "age" را فقط برای مردان دریافت کنید (فرض کنید که مردان با 1 در متغیر "sex" کدگذاری شدهاند)، از دستور زیر استفاده کنید:
sum age if sex==1 |
in: "in" محدودیتهای دامنه را از نظر شمارههای مشاهدهها نشان میدهد. این بخش اختیاری است. برای مثال، اگر بخواهید ۱۰ مقدار اول یا آخر از متغیر "age" را در مجموعه دادهها لیست کنید، از دستورهای زیر استفاده کنید:
list age in 1/10 |
list age in -10/-1 |
دستور اول ۱۰ مقدار اول را لیست میکند (۱/۱۰ نشاندهنده ۱ تا ۱۰ است)، در حالی که دستور دوم ۱۰ مقدار آخر متغیر "age" را نمایش میدهد.
[ ]: تمام دستورهای داخل [ ] اختیاری هستند. ممکن است شما نیازی به انتخاب هیچ چیزی نداشته باشید. برای مثال، شما میتوانید دستور زیر را استفاده کنید (بدون استفاده از "if"، "in" و "weight") برای دریافت آمار خلاصه برای متغیر age:
sum age |
weight: "weight" به معنای "متغیر وزن" است. اگر متغیر وزنی (وزن فراوانی یا وزن نمونهبرداری) وجود دارد که میخواهید در تحلیل وارد کنید، آن را بعد از "in" قرار دهید. برای مثال:
sum age [fweight = v2] |
در اینجا، "fweight" نشاندهنده وزن فراوانی است ("pweight" نشاندهنده وزن نمونهبرداری) و "v2" متغیر وزنی است که میخواهید در نظر بگیرید.
options: "options" دستورات اختیاری برای تحلیل دادهها را نشان میدهند. توجه داشته باشید که قبل از گزینهها، باید از کاما (،) استفاده شود. برای مثال:
sum age, detail |
در اینجا، ما از گزینه "detail" استفاده کردهایم. هنگامی که این گزینه (detail) را استفاده میکنیم، Stata آمار خلاصه دقیق (میانگین، انحراف معیار، کشیدگی، کرتوژی، درصدها و دیگر آمارها) را برای متغیر نمایش میدهد.
prefix: "prefix" برای تحلیل الزامی نیست. پیشوند برای گرفتن نتایج از زیرگروهها استفاده میشود، مانند بر اساس جنسیت، شغل یا سایر متغیرها. برای مثال، اگر بخواهید آمار خلاصه سن را بر اساس جنسیت دریافت کنید (یعنی بر اساس مردان و زنان)، پیشوند نیاز است. سپس دستورات به صورت زیر خواهند بود:
sort sex |
by sex: sum age |
یا
bysort sex: sum age |
یا
By sex, sort: sum age |
در اینجا، "by sex"، "bysort sex" و "by sex, sort" پیشوندها هستند، در حالی که "sum" دستور اصلی برای دریافت آمار خلاصه سن است. ما از دستور "sort sex" برای مرتبسازی (به ترتیب صعودی) متغیر "sex" استفاده کردهایم. Stata برای اجرای دستور اصلی "sum" نیاز به مرتبسازی (به ترتیب صعودی) متغیر پیشوندی (در این مثال، sex) دارد. به همین دلیل، ما از دستور اول، "sort sex" استفاده کردیم. اما میتوانید از یک دستور واحد مانند "bysort sex" استفاده کنید که ابتدا متغیر "by" (در اینجا sex) را مرتبسازی کرده و سپس دستور اصلی را اجرا میکند.