آموزش نوشتن تابع در R، بخش دوم

در یکی از پست‌های قبلی وبلاگ، با استفاده از الگوریتم Top­sis یک موبایل انتخاب کردیم و در پست قبلی یاد گرفتیم که چطور می‌توان در R یک تابع نوشت. همچنین در پست قبلی قرار شد با یک مثال روند نوشتن تابع در R را بررسی کنیم و به نظر می‌رسد همان الگوریتم Top­sis مثال خوبی برای این کار باشد.

برای یادآوری توصیه می‌کنم پست مربوط به top­sis را دوباره بخوانید. به طور خلاصه، در آن پست، ما مشخصات سه گوشی موبایل را در قالب یک ماتریس به الگوریتم دادیم، برای هر شاخص یک وزن مشخص کردیم و در نهایت الگوریتم به ما گفت که کدام گوشی به ایده‌آل ذهنی ما نزدیکتر است. تابع ما باید سه ورودی که شامل ماتریس اصلی تصمیم‌گیری، بردار وزن‌ها و بردار مشخص کننده شاخص‌های مثبت و منفی است را بگیرد و در نهایت یک بردار تحویل دهد. تمام کدهایی که در آن مطلب برای اجرای الگوریتم نوشتیم این‌ها بودند:

همین کدها را در قالب یک تابع R در پنجره source (با فشردن ctrl+shift+N باز می‌شود) می‌نویسیم و آن را اجرا می‌کنیم:

احتمالا باید چیزی شبیه این را ببینید:

topsis

همین کدی را که در source نوشته‌اید را با ماوس انتخاب کنید و روی Run کلیک کنید. با نگاهی به پنل work space می‌توانید مشاهده کنید که تابع top­sis در حافظه قرار گرفته و قابل فرواخوانی شدن است. داده‌های پست top­sis را با اجرای کدهای زیر در R وارد می‌کنیم تا تابع را امتحان کنیم.

حالا نوبت اجرای تابع است. تابع به صورت زیر فراخوانی می‌شود:

بعد از اجرا تابع نتیجه زیر را به ما بر می‌گرداند که دقیقا همان نتیجه بدست آمده در حالتی بود که از تابع استفاده نکرده بودیم.

می‌توانید با کلیک روی گزینه save پنل source این تابع را برای استفاده‌های آینده ذخیره کنید.

چند نکته‌ی تکمیلی درباره‌ی توابع در R:

  • با توابع در R می‌توانید مانند هر شئ دیگری در R رفتار کنید.
  • می‌توان یک تابع را به عنوان argu­ment یک تابع دیگر استفاده نمود.
  • می‌تواند درون یک تابع، یک تابع دیگر تعریف کرد.

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *