زبان برنامه نویسی r (معرفی، کاربردها، معایب و مزایا)

R نام یک زبان برنامه نویسی متن باز (open-source) است که به عنوان نرم افزار آماری و ابزار تجزیه و تحلیل داده ها، موارد کاربرد بسیار زیادی دارد. R معمولاً با رابط خط فرمان عرضه می شود. از این زبان برنامه نویسی در پلتفرمهای پر کاربردی مثل ویندوز، لینوکس و مک او اس استفاده می شود. علاوه بر این، R جدیدترین زبان برنامه نویسی پیشرفته هم محسوب می شود.
چرا زبان برنامه نویسی R؟

- زبان برنامه نویسی R ابزاری پیشرو برای یادگیری ماشین، آمار و تجزیه و تحلیل داده ها محسوب می شود. با استفاده از این زبان می توان اشیاء، توابع و بسته ها را به راحتی ساخت.
- زبان برنامه نویسی R مختص پلتفرم خاصی نیست. این یعنی می توان این زبان را روی تمام سیستم عاملها اعمال کرد.
- زبان برنامه نویسی R زبانی رایگان و متن باز است. این ویژگی باعث می شود هر کسی در هر سازمانی بدون نیاز به خرید این زبان از آن به طور رایگان استفاده کند.
- زبان برنامه نویسی R نه تنها یک بسته آماری است بلکه امکان یکپارچه سازی با زبانهای دیگر (مثل C و C++) را هم به شما می دهد. بنابراین به راحتی می توانید با منابع داده و بسته های آماری بسیار زیادی تعامل داشته باشید.
- طیف وسیعی از کاربران از زبان برنامه نویسی R استفاده می کنند و این جامعه کاربری روز به روز در حال افزایش است.
- در حال حاضر زبان برنامه نویسی R یکی از پر تقاضاترین زبان های برنامه نویسی در بازار کار علم داده است که باعث شده به پرطرفدارترین گرایش تبدیل شود.
ویژگی های زبان برنامه نویسی R
ویژگی های آماری R:
- آمار پایه: رایج ترین اصطلاحات آماری پایه عبارتند از میانگین، حالت و میانه. همه این موارد به عنوان “معیارهای گرایش مرکزی” شناخته می شوند. با استفاده از زبان برنامه نویسی R می توانیم به راحتی گرایش مرکزی را اندازه گیری کنیم.
- گرافیک استاتیک: زبان برنامه نویسی R ویژگی هایی برای ساخت و توسعه گرافیک استاتیک را در اختیار شما می گذارد. R قابلیت هایی برای ساخت انواع طرحها از جمله نقشههای گرافیکی، طرحهای موزاییکی، بای پلات و غیره دارد.
- توزیع احتمال: توزیع احتمال مفهومی بسیار مهم و حیاتی در آمار است. با استفاده از زبان برنامه نویسی R به راحتی می توانید انواع مختلف توزیع احتمال مثل توزیع دوجمله ای، توزیع نرمال، توزیع خی دو و بسیاری از توزیعهای دیگر را مدیریت کنید.
- تجزیه و تحلیل داده ها: مجموعه وسیع، منسجم و یکپارچه ابزارهای موجود در زبان برنامه نویسی R به شما امکان تجزیه و تحلیل داده ها را می دهد.
ویژگی های برنامه نویسی R:
- بستههای R: یکی از ویژگیهای خوب زبان برنامه نویسی R، در دسترس قرار دادن کتابخانه ها است. شبکه آرشیو جامع R (CRAN)، دارای بیش از بیش از 10000 بسته است که می توانید از آنها استفاده کنید.
- پردازش توزیع شده: پردازش یا رایانش توزیع شده (Distributed Computing) مدلی است که در آن چند کامپیوتر به طور مشترک از اجزای یک سیستم استفاده می کنند تا کارایی و عملکرد افزایش پیدا کند. در سال 2005 دو بسته جدید ddR و multidplyr منتشر شدند که برای برنامه نویسی توزیع شده در R استفاده می شوند.

مزایای زبان برنامه نویسی R
- زبان برنامه نویسی R کاملترین و جامعترین بسته تحلیل آماری است و فناوریها و مفاهیم جدید برای اولین بار اغلب در این زبان در اختیار کاربران قرار می گیرند.
- R یک زبان برنامه نویسی منبع باز است؛ بنابراین شما می توانید هر جا و هر زمانی آن را اجرا کنید.
- • زبان برنامه نویسی R برای سیستم عامل گنو(GNU)، لینوکس (Linux) و ویندوز (Windows) مناسب است.
- R یک کراس پلتفرم (cross-platform) یا همان نرم افزار چند سکویی است و میتوان آن را روی هر سیستم عاملی اجرا کرد.
- در این زبان برنامه نویسی همه می توانند پکیج های جدید، روشهایی برای رفع اشکالات و بهبود کدها ارائه کنند.
معایب زبان برنامه نویسی R
- در زبان برنامه نویسی R استاندارد برخی از بسته ها از حد عالی پایینتر است.
- با اینکه معمولا دستورات R فشار زیادی به مدیریت حافظه وارد نمی کنند؛ اما ممکن است برنامه نویسی با این زبان تمام حافظه دستگاه شما را پر کند.
- معمولا اگر موردی در R کار نکرد کسی شکایتی نمی کند.
- زبان برنامه نویسی R از سایر زبان های برنامه نویسی مثل پایتون (Python) و متلب (MATLAB) خیلی کندتر است.
کاربردهای زبان برنامه نویسی R
- از زبان برنامه نویسی R برای علم داده (Data Science) استفاده می شود. این زبان دسترسی به طیف گسترده ای از کتابخانه های مربوط به آمار را برای شما امکان پذیر می کند و محیطی را برای محاسبات و طراحی آماری فراهم می سازد.
- خیلی از تحلیلگران کمَی از زبان برنامه نویسی R استفاده می کنند، چون این زبان به وارد کردن و پاکسازی داده ها کمک می کند.
- R رایج ترین زبان برنامه نویسی به حساب می آید. خیلی از تحلیلگران داده و برنامه نویسان تحقیقاتی از این زبان استفاده می کنند. برای همین زبان R یکی از ابزارهای اصلی و مهم در امور مالی محسوب می شود.
- غول های فناوری مثل گوگل، فیس بوک، بینگ، توییتر، Accenture، Wipro و خیلی از شرکتهای بزرگ دیگر از زبان برنامه نویسی R استفاده می کنند.
برنامه نویسی در R
از آنجایی که زبان برنامه نویسی R از نظر نحوی شباهت بسیار زیادی به سایر زبانهای پر کاربرد دارد، بنابراین کدنویسی و یادگیری آن هم آسانتر است. برنامه ها در این زبان را می توان با استفاده از IDEهای پرکاربرد مثل R Studio، Rattle، Tinn-R و غیره نوشت. بعد از نوشتن برنامه، باید فایل را با پسوند r. ذخیره کنید. برای اجرای برنامه هم از دستور زیر در خط فرمان استفاده می کنیم:
R file_name.r
مثال:
# R program to print Welcome to GFG!
# Below line will print “Welcome to GFG!”
cat(“Welcome to GFG!”)
خروجی:
Welcome to GFG!
۱. مفاهیم پایه: الفبای R
قبل از هر چیز باید بدانید دادهها در R چطور ذخیره و خوانده میشوند:
-
متغیرها و عملگر انتساب (
<-): در زبانهای دیگر برای ریختن یک مقدار داخل یک متغیر از مساوی (=) استفاده میکنند. در R هم میشود این کار را کرد، اما رسمِ حرفهایها این است که از یک فلش (<-) استفاده کنند.-
مثال:
age <- 25(یعنی عدد ۲۵ را بریز داخل متغیری به اسم سن).
-
-
بردارها (Vectors): بردار، پایهایترین ساختار در R است. بردار یعنی یک ردیف از دادههای همجنس (مثلاً چند عدد پشت سر هم). برای ساختنش از حرف
c(مخفف combine) استفاده میکنیم.-
مثال:
scores <- c(18, 19, 15, 20)
-
-
دیتافریم (Data Frame): این مهمترین مفهومی است که باید یاد بگیرید. دیتافریم دقیقاً مثل یک شیتِ اکسل است؛ یعنی جدولی که سطر و ستون دارد. هر ستون میتواند یک نوع داده باشد (مثلاً یک ستون اسم افراد، یک ستون سن آنها). شما در R بیشترِ وقتتان را با دیتافریمها میگذرانید.
۲. اصول مهم برنامهنویسی در R
برای اینکه کدهایتان شبیه برنامهنویسهای حرفهای R باشد، این اصول را به خاطر بسپارید:
-
R از عدد «یک» میشمارد: برخلاف پایتون یا C که شمارش را از صفر شروع میکنند، R مثل انسانها از ۱ میشمارد. پس اولین عضو یک بردار، ایندکسِ شماره ۱ را دارد.
-
تفکر برداری (Vectorization): در خیلی از زبانها برای اینکه مثلاً عدد ۲ را با ۱۰ تا عدد دیگر جمع کنید، باید یک «حلقه» (Loop) بنویسید. در R اصلاً نیازی به این کار نیست! اگر بنویسید
scores + 2، خودِ نرمافزار به طور خودکار عدد ۲ را با تکتکِ اعداد آن بردار جمع میکند. اصل مهم: در R تا جایی که ممکن است از حلقههایforفرار کنید! -
حساسیت به حروف (Case Sensitivity): زبان R به حروف بزرگ و کوچک حساس است. یعنی
Dataباdataبرای او دو کلمه کاملاً متفاوت است. -
بستهها یا پکیجها (Packages): هسته اصلی R قدرتمند است، اما جادوی واقعیِ آن در پکیجهایش نهفته است. پکیجها کدهایی هستند که دیگران نوشتهاند تا کار شما راحت شود. (مثلاً پکیج
ggplot2برای رسم نمودارهای فوقالعاده زیباست).
۳. نکات و توصیههای طلایی برای مبتدیها
-
از RStudio استفاده کنید: خودِ نرمافزار R محیط کاربری جذابی ندارد. همه برنامهنویسها از نرمافزار RStudio (که یک محیط توسعه یا IDE است) استفاده میکنند. کار کردن با آن بسیار راحتتر است و صفحهاش به ۴ بخش (کدنویسی، کنسول، محیط متغیرها و فایلها/نمودارها) تقسیم میشود.
-
دوستِ صمیمی شما، علامت سؤال (
?) است: اگر نحوه کارکرد یک دستور را فراموش کردید، کافی است قبل از آن یک علامت سؤال بگذارید و اجرا کنید. مثلاً تایپ کنیدmean?تا بخش راهنمای (Help) نرمافزار، تمام توضیحات مربوط به دستور میانگینگیری را با مثال برایتان بیاورد. -
به Tidyverse سلام کنید: وقتی کمی با محیط R آشنا شدید، حتماً پکیج
tidyverseرا یاد بگیرید. تایدایورس مجموعهای از پکیجهاست که روش کدنویسی در R را بسیار مدرنتر، خواناتر و شبیهتر به زبان انگلیسی کرده است (استفاده از علامت%>%یا همان Pipe). -
تمیز کد بنویسید: از هشتگ (
#) برای کامنتگذاری استفاده کنید. هر خط کدی که مینویسید، روبهرویش با هشتگ بنویسید که این کد قرار است چه کاری انجام دهد. سه ماه بعد که به کدتان برگردید، بابت این کار از خودتان تشکر خواهید کرد!
یک نمونه کد بسیار ساده:
# ساخت یک بردار از وزن و قدweight <- c(70, 85, 60)height <- c(1.75, 1.80, 1.65)# محاسبه شاخص توده بدنی (بدون نیاز به هیچ حلقه ای!)bmi <- weight / (height^2)# نمایش نتیجهprint(bmi)یادگیری رایگان برنامه نویسی آر: آموزش صفر تا صد آر با 14 درس
پیشنهاد: برای شروع، پیشنهاد میکنم اول نرمافزار R و بعد RStudio را نصب کنید.
زبانهای R و Python هر دو نقش مهمی در علم داده دارند و برای همین اغلب اوقات مبتدیان در انتخاب یکی از آنها به عنوان بهترین و مناسبترین زبان برنامه نویسی برای یادگیری کمی سردرگم می شوند. با کمی تحقیق می توانید بهترین گزینه برای خودتان را انتخاب و کار برنامه نویسی را شروع کنید.
