معرفی نرمافزار و زبان برنامهنویسی R
R، یک زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و علم دادهها است.که بر اساس زبانهای اس و اسکیم پیادهسازی شده است. این نرمافزار متنباز، تحت اجازهنامه عمومی همگانی گنو توسط شرکت R Core Team عرضه و به صورت رایگان در دسترس عموم قرار دادهشده است.این نرمافزار ازنظر دستورات شباهت زیادی به نرمافزار آماری S-PLUS دارد؛ اما میتوان گفت که این دو نرمافزار دارای هستههای متفاوتی هستند که هرکدام قابلیتهای متفاوتی را فراهم میکند. نرمافزار R اکثر زمینههای آمار کاربردی مانند تحلیل سریهای زمانی، رگرسیون خطی و غیرخطی، آزمون فرضهای کلاسیک، کدگذاری، خوشهبندی و … را پوشش داده و همچنین نرمافزار قدرتمندی برای ایجاد اشکال گرافیکی و نمودارها است.
R، حاوی محدوده گستردهای از تکنیکهای آماری (ازجمله: مدلسازی خطی و غیرخطی، آزمونهای کلاسیک آماری و …) و قابلیتهای گرافیکی میباشد. در محیط R، کدهای سی (C)، سی++ (C++) و فورترن (Fortarn) قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره میتوانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند. گرچه نرمافزار R اغلب به منظور انجام محاسبات آماری به کار میرود، اما این نرمافزار قابل به کارگیری در محاسبات ماتریسی نیز میباشد و در این زمینه، همپای نرمافزارهایی چون اُکتاو و نسخهٔ تجاری آن متلب (MATLAB) است.
تاریخچه زبان برنامهنویسی و نرمافزار R
نرمافزار R برای اولین بار بهعنوان یک پروژه تحقیقاتی توسط راس ایهاکا (Ross Ihaka) و رابرت جنتلمن (Robert Gentleman) در سال ۱۹۹۳ نوشته شد. در حال حاضر، R توسط گروهی از متخصصان علم آمار به نام “تیم هسته نرمافزار “R با صفحهای در آدرسwww.r-project.org در حال توسعهی فعال است. زبان برنامهنویسی R با توجه به اپن سورس بودن، تحت لیسانس GPL قابلاستفاده و باز انتشار میباشد
دلیل محبوبیت و مزایای نرمافزار R
دلیل محبوبیت این نرمافزار در بین کاربران، در درجه اول رایگان بودن این نرمافزار است. از طرفی دیگر این نرمافزار بر روی انواع سیستم عاملها قابل نصب بوده و مشکل بسیاری از کاربران را ساده نموده. از دیگر مزایای این نرمافزار، همانطور که در قبل گفته شد، فراهم کردن زمینهای بینظیر برای نوشتن متدهای آماری و قابلیت توسعه همچون دیگر نرمافزارهای باز است. نرمافزار R علاوه بر نسخه متنباز، نسخههای غیر متنباز نیز دارد. مجموعه R Core Team دو نسخه مبتنی بر پردازش دادههای کلان (Big data)، اینترپرایز (Enterprise) و همینطور نسخه Cloud مبتنی بر محاسبات ابری را به صورت غیر رایگان (تجاری) ارائه میدهد.
از مزایای زبان R حجم بالای داکیومنت و مستندات آن است. دو نمونه از سایتهای مرجع زبان برنامهنویسی R به آدرس r-project.org و cran.r-project.org میباشد که جزئیات کاربری و استفاده از R را در شرایط مختلف و گروههای متفاوت گفتگوها و تالارهای تبادلنظر بین مشتریان و کاربران را در اختیار میگذارد.
برخی قابلیتها و کاربردهای مهم زبان برنامه نویسی R:
- زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و علم دادهها.
- زبان برنامهنویسی ساده و پیشرفته شامل عبارتهای شرطی ،حلقه و توابع بازگشتی و …
- نرمافزار قدرتمندی با امکانات گرافیکی برای تجزیهوتحلیل دادهها، رسم نمودار و ایجاد اشکال.
- حاوی محدودهٔ گستردهای از تکنیکهای آماری.
- بستههای نرمافزاری قدرتمند برای تجزیهوتحلیل آماری.
- توانایی انجام محاسبات ماتریسی.
- کتابخانههای انجام عملیات دادهکاوی و یادگیری ماشین مانند دستهبندی، خوشهبندی، تحلیل شبکه اجتماعی، یادگیری تقویتی و…
- کتابخانههای خاصبرای انجام عملیات تحلیلی در زمینههای مختلف علمی.
- دارای مستندات فرمت بندی شده و منظم برای استفاده از زبان و کتابخانههای مرتبط.
- امکان توسعهٔ قابلیتهای R، با افزودن بستههای ایجادشده توسط کاربران خبره.
- دارای محیط خط فرمان برای ورود و اجرای دستورات.
- قابلاستفاده برای کاربران نرمافزار S-Plus .
- امکانات ذخیره ،بازیابی و دستکاری دادهها.
محدودیتها و معایب زبان برنامه نویسی R
- برای استفاده و برنامهنویسی با آن باید فرمانها آن را بیاموزید.
- زبانRدارای مفسر است ، بدین معنی که برای اجرا، ترجمه نمیشود و بهصورت فایل اجرایی (.exe*) درنمیآید.
- دارای امکان ایجاد Gui نیست.
- عدم پشتیبانی یک سیستم تجاری قوی از برنامه R
- تکنیکهای تحلیلی به شرایط و حجم دادهها جهت پردازش محدود است که نباید از مقدار ۱۶ ترابایت تجاوز کند که این امر میتواند در برخی از کاربردها یک محدودیت جدی تلقی گردد که در آن شرایط استفاده از این ابزار چندان مناسب نخواهد بود.
معرفی برخی ابزارهای زبان برنامهنویسی R
R، دارای محیط خط فرمان برای ورود و اجرای دستورات است. با توجه به این قابلیت، ابزارهای مختلفی جهت تسهیل ویرایش دستورات و ارتباط با کاربر برای R ساخته شده است.
برخی ابزارهای مورد استفاده در زبان برنامهنویسی R
- JGR : ویرایشگر چند سکویی بر پایهٔ جاوا.
- R Commander: رابط گرافیکی بر پایهٔ tcltk ، دارای قابلیت استفاده از منوها به جای نوشتن دستورات (مناسب برای کاربران مبتدی و آشنا با اسپلاس)
- آراکسل: RExcel امکان استفاده از R و R Commander در برنامهٔ ماکروسافت اکسل را فراهم میکند
- rggobi : رابط برنامهٔ GGobi برای به تصویر کشیدن دادههای ماتریسی
نرمافزار R در چه رشتههایی کاربرد دارد؟
به طور کلی در تمامی رشتههایی که بخشی از محاسبات، به روشهای آماری مربوط است، از رشتههای علوم پایه گرفته تا رشتههای مختلف پزشکی، فنی و غیره میتوانند از تواناییهای منحصربهفرد این نرمافزار استفاده کنند . از رشتههایی که نرمافزار R در آنها کاربرد بسیاری دارد، رشته بیوانفورماتیک یا زیستدادهورزی است که دانش استفاده از علوم کامپیوتر و آمار و احتمالات در شاخه بیولوژی یا زیستشناسی مولکولی میباشد. به صورت کلی رشتههای زیر میتوانند در تحلیلهای آماری خود از نرمافزار R استفاده کنند.
- آمار و احتمالات
- آمار زیستی
- زیستشناسی و شاخههای مرتبط
- علوم پزشکی و داروسازی
- بیوتکنولوژی
- اپیدمیولوژی و علوم محیطی
- بیوانفورماتیک
- علوم کامپیوتر
- فیزیک
- شیمی (کمومتریک)
- آمار مکانیک
- علوم روانشناسی و اجتماعی
- مدیریت