زبان برنامه نویسی   R(آر)

زبان برنامه نویسی R(آر)

زبان برنامه نویسی R


R یک زبان برنامه‌نویسی و نرم افزار رایگان است که توسط «راس ایهاکا» (Ross Ihaka) و «رابرت جنتلمن» (Robert Gentleman) در سال 1993 تهیه شده است. R دارای کتابخانه‌های گسترده‌ای از انواع روش‌های آماری و شیوه‌های ترسیم نمودارها است. در این زبان برنامه نویسی، «الگوریتم‌های یادگیری ماشین» (Machine Learning Algorithm)، «رگرسیون خطی» (Linear Regression)، «سری‌های زمانی» (Time Series) و «استنباط آماری» (Statistical Inference)‌ قابل استفاده هستند.


بیشتر «کتابخانه‌های» (Library) یا «بسته‌های» (Package) قابل دسترس در R، با خود زبان برنامه نویسی R نوشته شده‌اند، اما برای کارهای محاسباتی سنگین، کدهایی به زبان‌های C++ ،C و Fortran نیز قابل دسترس بوده و کتابخانه‌هایی با این زبان‌ها، نوشته شده‌اند.


زبان برنامه‌نویسی R نه تنها در بین دانشگا‌هیان و محققین مورد اقبال قرار گرفته است، بلکه بسیاری از شرکت‌های بزرگ نیز از زبان برنامه نویسی R استفاده می‌کنند. در این بین می‌توان به شرکت‌هایی مانند Uber ،Google ،Airbnb و Facebook اشاره کرد.


«تحلیل داده‌ها» (Data Analysis) با R در گام‌هایی به شکل زیر صورت می‌گیرد. «برنامه نویسی» (Programming)، «تبدیلات» (Transform)، «کشف» (Discover)، «مدل سازی» و «گزارش نتایج». هر یک از این مراحل به ترتیب در ادامه معرفی شده‌اند.



  1. برنامه‌ نویسی: R یک ابزار برنامه نویسی روشن و قابل دسترسی است که برای تجزیه و تحلیل داده‌ها، بهینه شده است.

  2. تبدیلات: مجموعه‌ای از کتابخانه‌های به هم پیوسته و دستورات، زبان برنامه نویسی R را ساخته‌اند که به طور خاص برای «علم داده» (Data Science) طراحی شده‌اند.

  3. کشف: به کمک زبان R، مدل مناسب برای داده‌ها را جستجو کنید، فرضیه‌های خود را مورد بررسی قرار داده و آنها را مورد آزمون قرار دهید.

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

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


با توجه به مطالب گفته شده، می‌توان زبان برنامه‌نویسی R را ابزاری مناسب برای انجام کارهای زیر در نظر گرفت.



  • استنباط آماری (Statistical inference)

  • تحلیل داده (Data analysis)

  • اجرای یا ایجاد الگوریتم‌های یادگیری ماشین (Machine learning algorithm)


سهم زبان R در صنعت و کسب و کارها


با توجه به بررسی صنایع و کسب و کارها، نموداری مطابق با تصویر ۲، ایجاد شده است. همانطور که مشخص است بیشترین استفاده کنندگان از زبان برنامه‌نویسی R، متعلق به بخش آموزش عالی و دانشجویان تحصیلات تکمیلی (Academic) است. در رتبه دوم می‌توان به بخش «بهداشت» (Healthcare) اشاره کرد. همچنین تهیه مقاله‌های علمی در حوزه پزشکی به همراه ارائه نتایج آماری حاصل از تحقیق، توسط زبان برنامه‌نویسی R، به اعتبار بیشتر آن‌ها منجر می‌شود. از طرفی شاید تمایل و آشنایی بیشتر مهندسین برق به نرم‌افزار MATLAB، آن‌ها را از به کارگیری R‌ باز داشته است. به همین علت در انتهای لیست مربوط به نمودار زیر قرار گرفته‌اند.


بسته‌ها یا کتابخانه‌های پرطرفدار R


همانطور که اشاره کردیم، برای اجرای الگوریتم‌ها یا بسیاری از توابع در حوزه‌های مختلف علمی، کتابخانه یا بسته‌هایی از امکانات (Utility)، در زبان برنامه‌نویسی R گنجانده شده که در تصویر ۳، به ترتیب استفاده کننده، برحسب تعداد پرسش و پاسخ‌های مطرح شده در سایت Stack Overflow، ایجاد شده است. کتابخانه dplyr و ggplot2، که اولی به اجرای تغییر روی داده‌ها و دومی به رسم نمودار، اختصاص دارد، در بین پر طرفدارترین‌ها دیده می‌شوند. از طرفی کتابخانه‌های scales و gridExtra کمتر مورد استفاده قرار گرفته‌اند.


تمام کتابخانه‌های R، که تقریباً تا به امروز بیش از ۱۲ هزار بسته را شامل می‌شود، رایگان بوده و از طریق سایت CRAN قابل دریافت هستند. CRAN یک سایت منبع باز و رایگان است. برای اجرای الگوریتم‌های «یادگیری ماشین» یا تجزیه و تحلیل سری‌های زمانی می‌توانید کتابخانه‌های متعدد را بارگیری و استفاده کنید.


چرا از R استفاده کنیم؟


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


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


آیا واقعاً آموختن زبان برنامه‌نویسی R پیچیده است؟ توجه داشته باشید که باید یک توازن بین پیچیدگی و کارایی در نظر گرفت و بهترین زبان برنامه‌نویسی را برای امور شرکت انتخاب کرد. در تصویر ۴، نموداری را مشاهده می‌کنید که به مقایسه کارایی و سادگی در آموزش بین زبان‌ها و نرم‌افزارهای تحلیل مالی پرداخته است. اگر می‌خواهید بهترین اطلاعات را از داده‌ها کسب کرده و به نمایش بگذارید، باید مدتی را صرف یادگیری ابزار مناسب آن، یعنی زبان برنامه نویسی R کنید.


آیا باید زبان برنامه ‌نویسی R را برای کار انتخاب کرد؟


معمولاً یک «متخصص داده» (Data Scientist) می‌تواند از دو ابزار برای برنامه‌نویسی و اجرای تحلیل‌ها استفاده کند: زبان برنامه نویسی R و پایتون. شاید وقت نداشته باشید که هر دو را یاد بگیرید، به خصوص اگر به تازگی شروع به یادگیری علم داده (Data Science) کرده‌اید. یادگیری ماشین، مدل سازی آماری و الگوریتم‌های مختلف، ابزارهای موثر برای تحلیل داده محسوب می‌شوند که در اغلب زبان‌های برنامه‌نویسی مدرن به کار رفته‌اند. داشتن تسلط کافی در این امور بسیار موثرتر از یادگیری زبان برنامه‌نویسی است. در حقیقت، زبان برنامه نویسی، ابزاری برای محاسبه و برقراری ارتباط داده‌ها و شناخت آن‌ها است.


مهمترین کار در علم داده، نحوه برخورد شما با داده‌ها است. «ورود» (Import)، «پاکسازی» (ٰClean)، «آماده سازی» (Data Preparation)، «مهندسی ویژگی» (Feature Engineering) و «انتخاب ویژگی» (Feature Selection)، همگی گام‌های اصلی فعالیت‌های علم داده را تشکیل می‌دهند.


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


آموختن زبان برنامه نویسی R مشکل نیست


سال‌ها پیش، تسلط بر زبان R دشوار بود. زبان برای مبتدیان گیج کننده محسوب می‌شد و ساختار آن مانند سایر ابزارهای برنامه نویسی به نظر نمی‌رسید. برای غلبه بر این مسئله مهم، «هادلی ویکام» (Hadley Wickham) مجموعه‌ای از دستورات و امکانات را در کتابخانه‌ یا بسته‌ای به نام tidyverse تهیه کرد. به این ترتیب تغییرات و تبدیل داده‌ها شهودی‌تر شده و خوانایی آن افزایش یافت. از طرفی ترسیم و ایجاد نمودارهای تحلیلی دیگر امری پیچیده و سخت محسوب نمی‌شد.


نویسنده بلاگ: طاها رضازاده

طاها رضازاده

دیدگاه کاربران

    هیچ نظری ثبت نشده! اولین نفری باش که نظرشو ثبت میکنه!

ثبت دیدگاه

برای ثبت نظر، ابتدا وارد شوید.

خدمات منتورینگ

شما در طول دوره ی آنلاین میتوانید یک پشتیبان یا همراه داشته باشید و تمامی تمرین ها و مشکلات خودتون رو با اپراتور های ما در میان میگذارید! چی بهتر از اینکه قدم به قدم در کنار اساتید و آموزش های آنلاین بتونی از طریق پشتیبان هم ارزیابی بشی و مشکلاتت رو توی کمترین زمان ممکن حل کنی؟!!