فیلترکردن در SPSS – آموزش سریع و ساده

فیلترکردن در SPSS به طور موقت، مواردی را از تمام تجزیه و تحلیل های داده ها از مطالعه حذف می کند. برای حذف موارد، حین ویرایش اطلاعات، از DO IF یا IF، به جای آن استفاده کنید.


• مبانی فیلتر SPSS

• مثال 1 – مواردی که مقادیر گمشده زیادی دارند را، حذف کنید.

• مثال 2 – فیلتر کردن 2 متغیر

• مثال 3 – فیلتر کردن، بدون استفاده از متغیر فیلتر

• نکته – دستوراتی با فیلترهای سرخود

• هشدار – ویرایش داده ها با فیلتر کردن

 

فیلتر SPSS – مثال داده ها

برای تمام مثالهای این آموزش،از bank_clean.sav -که تا حدودی در زیر نشان داده شده است- استفاده می کنم. این فایل دارای داده های نظرسنجی از کارمندان یک بانک کوچک می باشد. با خیال راحت این داده ها را بارگیری کنید واز نمونه ها، مجدد استفاده کنید.

مبانی فیلتر SPSS

 

فیلتر کردن در SPSS معمولاً شامل 4 مرحله است:       

1-   ایجاد یک متغیر فیلتر

 

2-   فعالسازی متغیر فیلتر

3- یک یا چند تحلیل(مانند همبستگی، ANOVA (تحلیل واریانس یکطرفه)، یا یک آزمون کی دو) با حضور متغیر فیلتر

4- غیرفعال کردن متغیر فیلتر

در اصول کلی، هر متغیری می تواند به عنوان یک متغیر فیلتراستفاده شود. پس از فعال کردن آن، موارد با

• مقدار صفر

• مقادیر گمشده کاربر

• مقادیر گمشده سیستمی

تا زمانی که فیلتر را غیرفعال نکنید، روی متغیر فیلتر، همه تجزیه و تحلیل ها حذف انجام می شود. جهت روشن شدن این مطلب، توصیه می کنم برای هر مورد، فقط از متغیرهای فیلتری که دارای 0 یا 1 می باشند، استفاده کنید. فکر می کنم آموزش نظری کافی باشه. حال بیایید همه چیز را عملی بکار بگیریم.

مثال 1- مواردی را که مقادیر گمشده زیادی دارند، حذف کنید.

در پایان، 9 مقیاس رتبه بندی در داده ها مشخص می شود: 1q تا 9q. شاید بخواهیم یک تحلیل عاملی روی آنها انجام دهیم، یا از آنها در تحلیل رگرسیونی، به عنوان پیش بینی کننده استفاده کنیم.

 در هرموردی، ممکن است بخواهیم متغیرهایی که مقادیر گمشده زیادی دارند را، حذف کنیم.

درابتدا با اجرای دستور زیر، فقط آنها را شمارش میکنیم.

*ساخت متغییر جدید برای تعداد مقادیر گمشده از  1q تا q9


compute mis_1 = nmiss(q1 to q9).


* برچسب متغیر را اعمال کنید.

 

variable labels mis_1 ‘Number of missings on q1 to q9’.


* فراوانی ها را بررسی کنید.

frequencies mis_1.

 

 

نتیجه

 

بر اساس توزیع فراوانی ، تصمیم گرفتیم ،8 موردی که حداقل 3 مقدار گمشده در q1 تا q9 دارند را حذف کنیم. متغیر فیلتر را با یک RECODE ساده،به مانند تصویر زیر ایجاد می کنیم.

* mis_1 را به متغیر فیلتر تبدیل کنید.

recode mis_1 (lo thru 2 = 1)(else = 0) into filt_1.
* برچسب متغیر را اعمال کنید.

variable labels filt_1 ‘Filter out cases with 3 or more missings on q1 to q9’.

* متغیر فیلتر را فعال کنید.

filter by filt_1.

* تعداد مقادیر گمشده در q1 تا q9 را دوباره بررسی کنید

frequencies mis_1. 

 

نتیجه

 

توجه داشته باشید که اکنون SPSS ،به جای 464 مورد، 456 مورد را گزارش می کند. 8 موردی که دارای حداقل 3 مقدارگمشده بودند، همچنان در بین داده ها وجود دارند، اما برای  تمامی تجزیه و تحلیل ها حذف میشوند . همانطور که در زیر نشان داده شده است ، می توانیم دلیل این موضوع را در data view مشاهده کنیم .

 

مورد 21 دارای 8 مقدارگمشده در q1 تا q9 می باشد که ما این مورد را در متغیر فیلتر، صفر لحاظ می کنیم.

$casenum نشان می دهد که مورد  21 در حال حاضر فیلتر شده است.


نوار وضعیت تاثیر متغیر فیلتردرآزمایش را تأیید می کند. در آخر، بیایید فیلتر را به سادگی با FILTER OFF، غیرفعال کنیم. ما متغیر فیلتر خود را filt_1 در داده ها خواهیم گذاشت. این مسئله به هیچ وجه ما را اذیت نخواهد کرد.

مثال 2- فیلتر کردن 2 متغیر

برای برخی دیگر از تجزیه و تحلیل ها، می خواهیم فقط از پاسخ دهندگان زنی که درحوزه فروش یا بازاریابی فعالیت می کنند، استفاده کنیم.

یک نقطه خوب برای شروع، رسم بسیار ساده جدول احتمال می باشد که در زیر نشان داده شده است.

*مقادیر و برچسب های آنها را، در جداول خروجی بعدی نشان دهید.

set tnumbers both.

* نمایش فراوانی شغل به تفکیک جنسیت.

crosstabs gender by jtype.

نتیجه

همانطور که در جدول مشاهده میکنیم، 181 پاسخ دهنده زن داریم که در فروش یا بازاریابی کار می کنند. اکنون یک متغیر فیلتر جدید ایجاد خواهیم کرد که فقط صفرها را در خود نگه می دارد. سپس با دستور ساده IF، آن را برای انتخاب موردی، بر روی عدد 1 تنظیم می کنیم.

* متغیر فیلتری ایجاد کنید که فقط صفرها را داشته باشد.

compute filt_2 = 0.
* در زنان برای متغیر نوع شغل 1 و 2، فیلتر را برروی 1 تنظیم کنید.

if(gender = 0 & jtype <= 2) filt_2 = 1.

* برچسب متغیر را اعمال کنید.

variable labels filt_2 ‘Filter in females working in sales and marketing’.
* فیلتر را فعال کنید.

filter by filt_2.
*کارکرد صحیح فیلتر را تأیید کنید.

crosstabs gender by jtype.

اجرای مجدد جدول احتمال (نشان داده نشده) تأیید می کند که اکنون SPSS فقط 181 مورد از زنانی را که در بازاریابی یا فروش کار می کنند گزارش می دهد. همچنین توجه داشته باشید که ما اکنون 2 متغیر فیلتر در داده هایمان داریم و این موضوع اتفاق بسیار خوبی می باشد،اما تنها 1 متغیر فیلتر می تواند در هر زمان فعال باشد. بیایید متغیر فیلتر جدید را با FILTER OFF ،غیرفعال کنیم.

مثال 3 – فیلترکردن، بدون استفاده از متغیر فیلتر

کاربران باتجربه SPSS ممکن است این موضوع را بدانند

• TEMPORARY می تواند برخی از ویرایش ها برروی داده ها ،که به موجب آن انجام می شوند را، “واگرد” کند

• SELECT IF موارد را به طور دائم از داده های شما پاک می کند.

با ترکیب این دو، می توانید نیاز به ایجاد یک متغیر فیلتر، اما فقط برای 1 تجزیه و تحلیل در آن زمان را دور بزنید. مثال زیر نشان می دهد که: اولین CROSSTABS (جدول بندی متقاطع)محدود به تعدادی از موارد می باشد اما حذف مورد را نیز به عقب بازمی گرداند. CROSSTABSدوم شامل همگی موارد می باشد.

* تبدیل زیر را موقتی قرار دهید.

temporary.

* همه موارد را حذف کنید به جز مواردی که متغیر gender = 1 و jtype = 3.

select if (gender = 1 & jtype = 3).

* Crosstabs فقط مردان در IT را شامل می شود و انتخاب مورد را برمی گرداند crosstabs gender by jtype.
* Crosstabs همه موارد را مجدد شامل می شود.

crosstabs gender by jtype. 

نکته – دستوراتی با فیلترهای سرخود

نکته دیگری که ممکن است بخواهید بدانید این است که برخی از دستورات دارای فیلترسرخود هستند. مانند

•رگرسیون،

• رگرسیون لجستیک ،

• عاملی و

• تشخیص‌دهنده

گفتگو نشان می دهد شما می توانید موارد را_ برای این دستور فقط _بر اساس 1 متغیر فیلتر کنید. من گمان می کنم که می توانید شرایط پیچیده تری را نیز در زیرفرمان نتیجه از / SELECT وارد کنید.شخصا آن را امتحان نکرده ام.

در هر مورد ، نظرمن اینست که این فیلترهای سرخود،می توانند بسیار مفید باشند و باعث تعجب بنده می شود که فقط به 4 دستوری که دربالا ذکر شده است،محدود می شوند.

 

هشدار – ویرایش داده ها با فیلترکردن

بیشتر ویرایش داده ها در SPSS، تحت تأثیر فیلتر قرار نمی گیرد. به عنوان مثال ، https://www.spss-tutorials.com/how-to-compute-means-in-spss/ برروی متغیرها – همانطور که در زیر نشان داده شده است – بدون در نظر گرفتن فیلتر فعال ، در همه موارد تأثیر می گذارد.

بنابراین ما به DO IF یا IF نیاز داریم تا این تغییر شکل را به مواردی محدود کنیم. با این حال ، یک فیلتر فعال تابع های مختلف را تحت تأثیر قرار می دهد. برخی از مثالهایی که در زیر نشان خواهیم داد ، موارد زیر است

       اضافه کردن تعداد موارد با AGGREGATE.

       محاسبه نمرات z برای یک یا چند متغیر.

       افزودن رتبه یا با RANK.

ویرایش داده های SPSS تحت تأثیر نمونه های فیلتر

* فیلتر فروش زنان را دوباره فعال کنید.

filter by filt_2.

* تحت تأثیر فیلتر نیست: میانگین q1 تا q9 را به داده ها اضافه کنید.

compute mean_1 = mean(q1 to q9).
execute.

* تحت تأثیر فیلتر: تعداد موارد را به داده ها اضافه کنید.
aggregate outfile * mode addvariables
/ofreq = n.
* تحت تأثیر فیلتر: به داده ها نمره z درآمد رااضافه کنید

descriptives salary
/save.
* تحت تأثیر فیلتر: میانه گروه های دستمزد را به داده ها اضافه کنید.

rank salary
/ntiles(2) into med_salary.

 

نتیجه

 

بسیارخوب. موارد فوق، تقریباً همه چیز راجع فیلتر کردن در SPSS را بیان می کند. امیدوارم این آموزش برای شما مفید واقع شده باشد