R، آماردان آزاد

تاریخچه
زبان R زبانی کاملا آزاد و رایگان است که چندان هم با زبان S که محصولی از کمپانی AT&T بِل بود تفاوتی ندارد. زبان R را رابرت جنتلمن
(Robert Gentleman) و روس ایهاکا (Ross Ihaka) از دانشکده آمار دانشگاه اوکلند نوشتند و یک گروه همکار، باگ‌های اولیه نرم‌افزار را یافت و اولین نسخه را در سال ۲۰۰۰ منتشر کردند. امروزه‌ این زبان محصولی از بنیاد R برای محاسبات آماری
(R foundation for statistical computing) است. این بنیاد بخشی از پروژه‌ی گنوی (GNU) بنیاد نرم‌افزار آزاد (Free Software Foundation) است. زبان R تحت مجوز GNU/GPL ارائه می‌شود.
این زبان کم‌حجم (سورس کد حدود ۳۰ مگابایت و باینری حدود ۵۰ مگابایت)، یک زبان مستقل از سیستم‌‌عامل است و سورس‌کد، همچنین باینری آن برای سیستم‌عامل‌های گنو/ لینوکس، ویندوز و مک روی پایگاه وب رسمی پروژه R یعنیr-project.org و از آینه های بسیاری از جمله ایران واقع در دانشگاه فردوسی مشهد، در دسترس است.
R پس از نصب در ویندوز به شکل یک برنامه با قالب exe اجرا می‌شود. در سیستم‌عامل‌های گنو/ لینوکس و مکینتاش هم می‌توان پس از نصب آن را با دستور R (حرف بزرگ R) در Shell اجرا کرد.
R یک زبان اسکریپتی است. این زبان همانند پایتون خط به‌ خط اجرا می‌شود و در صورتی که در یک خط تنها یک دستور نوشته شود نیازی به
Semicolon ندارد. شرط‌ها، شرط حلقه‌ها و ورودی توابع نیز در این زبان مانند اکثر زبان‌ها، درون پرانتز نوشته می‌شود و نتیجه شرط‌ها، عملیات حلقه‌ها و متن توابع هم درون آکلاد می‌آید، تنها با این تفاوت که شمارنده حلقه‌ها در این زبان از «یک» شروع خواهد شد.

ارتباط بین R و سایر نرم‌افزار‌ها
می‌توان بین R و بسیاری زبان‌ها ارتباط برقرار کرد که در این‌جا دو مورد از این ارتباطات، یکی ارتباط با واژه‌پرداز LaTeX و دیگری ارتباط با زبان Python را بررسی می‌کنیم:

ارتباط با Latex
ارتباط بین R و زبان واژه‌پرداز LaTeX یا همان
R Sweave که یکی از موتور‌های واژه‌پرداز LaTeX است، به شما این امکان را می‌دهد که با استفاده از ترکیب این دو، گزارش‌های آماری خود (گزارش‌هایی که شامل فرمول‌های آماری و کد‌های R است) را پردازش کنید و با قالب PDF یا سایر قالب‌های مورد حمایت
LaTeX خروجی بگیرید.

ارتباط Python با R
زبان R منبعی قدرت‌مند و غنی از توابع اساسی آماری است که می‌تواند برای توسعه‌دهندگان حرفه‌ای سایر زبان‌ها نیز بسیار مفید باشد. زبان پایتون که سادگی‌اش چندان بی‌شباهت به R نیست می‌تواند با استفاده از بسته rpy2، توابع R را در محیط خود فراخوانی کند. برای نصب بسته با pip کافی است دستور زیر را در shell وارد کنید:
sudo pip install rpy2
برای مثال ما در زیر با استفاده از تابع rnorm موجود در زبان R و ماژول robjects در بسته نرم افزاری rpy2 در زبان پایتون نمونه‌ای به حجم ۱۰۰ از توزیع نرمال می‌گیرم و سری زمانی آن را رسم می‌کنیم:

import rpy2.robjects as robj
ts=robj.r.plot
rnorm=robj.r.rnorm
ts(rnorm(100),ylab="normal random variable",main="R in Hello world Mag!",type="l")

که خروجی به شکل زیر را در پی‌ خواهد آمد:


منابعی برای یادگیری R
گروه توسعه R برای یادگیری و استفاده‌ بهینه کاربران از R منابع بسیاری را تهیه کرده‌اند که تمام امکانات موجود در زبان را ارائه می‌دهد. این منابع آموزشی در پایگاه وب رسمی R، یعنی r-project.org موجود است. از طرفی هربسته R که در مخازنش ارائه می‌شود، دارای یک راهنمای بسته جداگانه است که به همراه بسته، ارائه می‌شود. تمام راهنما‌های بسته‌ها به قالب راهنماهای استاندارد R ارائه می‌شود که در‌واقع به کمک R Sweave که رابط بین لاتکس و R است، تولید می‌شوند و خوانایی مناسبی را برای قراردادنِ کد‌های نمونه و درصورت لزوم خروجی‌‌های آن در اختیار توسعه‌دهندگان قرار می‌دهد.