آموزش تابع در زبان r

یک تابع در زبان R مجموعه‌ای از دستورات است که برای انجام یک وظیفه مشخص به‌صورت سازمان‌یافته کنار هم قرار گرفته‌اند. زبان R دارای تعداد زیادی تابع از پیش تعریف‌شده است و کاربران نیز می‌توانند توابع دلخواه خود را ایجاد کنند.

در R، تابع یک شیء (object) محسوب می‌شود، بنابراین مفسر R می‌تواند کنترل برنامه را به تابع منتقل کرده و همراه آن آرگومان‌هایی که برای انجام وظیفه لازم هستند، ارسال کند.

تابع سپس وظیفه خود را انجام داده و کنترل را به مفسر بازمی‌گرداند، همراه با هر نتیجه‌ای که ممکن است در اشیاء دیگر ذخیره شود.

تعریف تابع در زبان R

یک تابع در R با استفاده از کلیدواژه function ایجاد می‌شود. ساختار پایه تعریف یک تابع به صورت زیر است:

اجزای تابع

اجزای مختلف یک تابع عبارت‌اند از:

  • نام تابع (Function Name): نام واقعی تابع است و در محیط R به‌صورت یک شیء با همین نام ذخیره می‌شود.

  • آرگومان‌ها (Arguments): آرگومان یک جایگزین است. هنگام فراخوانی تابع، مقداری به آرگومان داده می‌شود. آرگومان‌ها اختیاری هستند؛ یعنی ممکن است تابع هیچ آرگومانی نداشته باشد و همچنین می‌توانند مقادیر پیش‌فرض داشته باشند.

  • بدنه تابع (Function Body): بدنه تابع شامل مجموعه‌ای از دستورات است که مشخص می‌کند تابع چه کاری انجام می‌دهد.

  • مقدار بازگشتی (Return Value): مقدار بازگشتی تابع آخرین عبارت در بدنه تابع است که ارزیابی می‌شود.

R تعداد زیادی تابع از پیش تعریف‌شده دارد که می‌توان بدون تعریف قبلی مستقیماً در برنامه فراخوانی کرد. همچنین می‌توان توابع دلخواه خود را ایجاد و استفاده کرد که به آن‌ها توابع تعریف‌شده توسط کاربر (user-defined functions) گفته می‌شود.

توابع از پیش تعریف‌شده (Built-in Function)

نمونه‌های ساده‌ای از توابع از پیش تعریف‌شده در R عبارت‌اند از seq(), mean(), max(), sum(x) و paste(...) و غیره. این توابع مستقیماً توسط برنامه‌های نوشته‌شده توسط کاربر فراخوانی می‌شوند. می‌توان به اکثر توابع پرکاربرد R مراجعه کرد.

وقتی کد بالا را اجرا می‌کنیم، نتیجه زیر را تولید می‌کند:

توابع تعریف‌شده توسط کاربر (User-defined Function)

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

فراخوانی یک تابع در زبان R

وقتی کد بالا را اجرا می‌کنیم، نتیجه زیر را تولید می‌کند:

فراخوانی تابع بدون آرگومان

وقتی کد بالا را اجرا می‌کنیم، نتیجه زیر را تولید می‌کند:

فراخوانی تابع با آرگومان‌ها (براساس موقعیت یا نام)

آرگومان‌ها می‌توانند به همان ترتیبی که در تعریف تابع آمده‌اند داده شوند، یا به ترتیب متفاوت اما با مشخص کردن نام آرگومان‌ها.

وقتی کد بالا را اجرا می‌کنیم، نتیجه زیر را تولید می‌کند:

فراخوانی تابع با آرگومان پیش‌فرض

می‌توان مقادیر پیش‌فرض برای آرگومان‌ها تعریف کرد و تابع را بدون هیچ آرگومانی فراخوانی کرد تا نتیجه پیش‌فرض دریافت شود. همچنین می‌توان با دادن مقادیر جدید، نتیجه غیرپیش‌فرض گرفت.

وقتی کد بالا را اجرا می‌کنیم، نتیجه زیر را تولید می‌کند:

ارزیابی تنبل آرگومان‌ها (Lazy Evaluation of Function)

در R، آرگومان‌های توابع به صورت تنبل (lazy) ارزیابی می‌شوند؛ یعنی فقط زمانی که بدنه تابع به آن‌ها نیاز دارد، مقداردهی می‌شوند.

وقتی کد بالا را اجرا می‌کنیم، نتیجه زیر را تولید می‌کند:
5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

پکیج آموزش پروژه محور لاراول و طراحی وب سایت کانون قلم چی
  • انتشار: ۱۶ شهریور ۱۴۰۴

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید