آنچه در این صفحه می خوانید:
- معرفی زبان R
- تاریخچه زبان R
- ویژگی های زبان R
- کاربرد زبان R
- مقایسه R با SAS ،SPSS و Stata
- معرفی R Studio
- مثال های زبان R
معرفی زبان R
Rیک زبان برنامه نویسی منبع باز و محیط نرم افزاری است که معمولا برای محاسبات آماری در نقش های سنگین اطلاعات مانند داده کاوی و آمار استفاده می شود. زبان R به طور گسترده ای در بین آماری ها و داده شناسان برای توسعه نرم افزار آماری و تجزیه و تحلیل داده ها مورد استفاده قرار می گیرد. نظرسنجی های داده کاوی و مطالعات پایگاه داده های ادبیات علمی افزایش قابل توجهی در محبوبیت را نشان می دهد.
یک بسته GNU ،کد منبع برای محیط نرم افزار R در درجه اول در C ،Fortran و خود R نوشته شده است و تحت مجوز عمومی عمومی گنو قابل دسترسی است. نسخه های باینری از پیش آماده شده برای سیستم عامل های مختلف ارائه شده است. اگرچه R دارای رابط خط فرمان است ،اما چندین رابط کاربری گرافیکی مانند RStudio ،یک محیط توسعه یکپارچه وجود دارد.
ابن زبان بر اساس زبانهای اس و اسکیم طراحی شده است. این زبان در شرکت Insightful توسط راس ایهاکا و رابرت جنتلمن در سال 1993 ابداع شد. R در سال های اخیر با افزایش تعداد برنامه نویسان با استفاده از داده های تولید و تحلیل داده ها در یادگیری ماشینی و دیگر فن آوری های وابسته به داده های جدید ظهور کرده است. در حالی که R در ابتدا ممکن است بیش از حد پیچیده به نظر برسد،برای کسانی که به دنبال یک زبان برنامه نویسی کاربردی هستند،R میتواند گزینه ی خوبی باشد. در واقع،تعدادی از سازمان های شناخته شده از ویژگی های آماری قابل توجه R استفاده می کنند. برخی از کارمندان فیس بوک از R برای تجزیه و تحلیل رفتار کاربر استفاده می کنند،در حالی که بیش از 500 کارمند گوگل از R استفاده می کنند تا تبلیغات آن را موثرتر کند. R از اسکریپت خط فرمان استفاده می کند،که برای ذخیره مجموعه های متعدد از تجزیه و تحلیل پیچیده داده ها و بازیابی آن تجزیه و تحلیل در مجموعه ای از داده ها ایده آل است. R کاملا منبع آزاد و رایگان است،بنابراین بر خلاف رقبای خود مانند SASS یا متلب ،R می تواند سفارشی ،کلون و حتی توزیع شود. یکی از بزرگترین مزایای نرم افزار منبع باز این است که ارتقاء به نرم افزار بسیار منظم است. این برای محیط ها و زبان های برنامه نویسی آماری بسیار سودمند است. R در ویندوز، لینوکس و مک OS X در دسترس است و قادر به وارد کردن داده ها از کل برنامه های متعددی از جمله مایکروسافت اکسل، مای اس کیوال و اوراکل است. R واقعا یک تحلیلگر داده است و می تواند مقدار باور نکردنی داده ها را مدیریت کند و دو میلیون کاربر می توانند آن را تأیید کنند.
تاریخچه زبان R
R اجرای زبان برنامه نویسی S است که همراه با معناشناسی واژگان ،با الهام از Scheme است. S توسط جان چمبرز در سال 1976 ایجاد شد ،در حالی که در آزمایشگاه های بل بود. تفاوت های مهمی وجود دارد ،اما بسیاری از کدهای نوشته شده برای S بدون تغییر است.
R توسط راس ایهاکا و رابرت جنتلمن در دانشگاه اوکلند نیوزلند ایجاد شده است و در حال حاضر توسط تیم توسعه هسته R (که اتاق چمبر عضو آن است) ساخته شده است. R تا حدودی پس از نام های اول دو نویسنده R و بخشی از آن به عنوان نمایش نامه ای با نام S. نامگذاری شده است. این پروژه در سال 1992 ساخته شد ،با نسخه اولیه در 1995 منتشر شد و نسخه بتا پایدار در سال 2000.
ویژگی های زبان R
ویژگی های آماری
R و كتابخانه های آن طیف گسترده ای از تکنیک های آماری و گرافیکی ،از جمله مدل سازی خطی و غیر خطی ،آزمون های آماری کلاسیک ،آنالیز سری زمانی ،طبقه بندی ،خوشه بندی و موارد دیگر را اجرا می کنند. R از طریق توابع و پسوندها به راحتی قابل گسترش است و جامعه R به دلیل مشارکتهای فعال از نظر بسته ها قابل ذکر است. بسیاری از کارکردهای استاندارد R در خود R نوشته شده است و این باعث می شود تا کاربران از انتخاب الگوریتمی ساخته شده آسان شوند. برای کارهای محاسباتی فشرده ،کد C++ ،C و Fortran را می توان در زمان اجرا مرتبط و فراخوانی کرد. کاربران پیشرفته می توانند کد C ،C++ ،Java، دات نت یا Python را برای دستکاری مستقیم اشیاء R بنویسند. R از طریق استفاده از بسته های ارسال شده توسط کاربر برای کارکردهای خاص یا مناطق خاص مطالعه بسیار گسترده است. به دلیل میراث S ،R از امکانات برنامه نویسی شی گرا قوی تر از اکثر زبان های محاسباتی آماری برخوردار است. گسترش R نیز با قوانین واژگان آن آسان می شود.
قدرت دیگر R ،گرافیک استاتیک است که می تواند نمودارهایی با کیفیت انتشار ،از جمله نمادهای ریاضی تولید کند. گرافیک پویا و تعاملی از طریق بسته های اضافی در دسترس است. R دارای Rd ،قالب مستندات LaTeX مانند خود است ،که برای تهیه مستندات جامع ،هم به صورت آنلاین و هم در قالب های مختلف و هم به صورت کپی سخت استفاده می شود.
ویژگی های برنامه نویسی
R یک زبان تفسیر است. کاربران معمولاً از طریق یک مترجم خط فرمان به آن دسترسی پیدا می کنند. اگر کاربر 2+ در فرمان R تایپ کند و مطبوعات را وارد کنید ،کامپیوتر مطابق با تصویر زیر 4 پاسخ می دهد:
> 2 + 2
[1] 4
این محاسبه به عنوان جمع دو بردار تک عنصر تفسیر می شود و نتیجه آن یک بردار تک عنصر است. پیشوند [1]
نشان می دهد که لیست عناصر پیروی از آن در همان خط با اولین عنصر بردار شروع می شود (ویژگی ای که با افزایش خروجی بر روی چندین خط مفید است).
R نیز مانند سایر زبانهای مشابه مانند APL و MATLAB ،از ریاضیات ماتریس پشتیبانی می کند. ساختار داده های R شامل بردارها ،ماتریس ها ،آرایه ها ،فریم های داده (شبیه به جداول در یک پایگاه داده رابطه ای) و لیست ها است. آرایه ها به ترتیب ستونی ذخیره می شوند. سیستم اجرایی قابل توسعه R شامل اشیاء برای (در میان دیگران) است: مدل های رگرسیون ،سری های زمانی و مختصات جغرافیایی و مکانی. نوع داده های مقیاس هرگز ساختار داده ای از R. نبود. در عوض ،یک مقیاس به عنوان یک بردار با طول یک نشان داده می شود.
بسیاری از ویژگی های R از Scheme مشتق شده است. R از عبارات S برای نشان دادن داده و کد استفاده می کند. توابع کلاس اول هستند و می توانند به همان شیوه اشیاء داده دستکاری شوند ،برنامه نویسی متا را تسهیل کرده و امکان ارسال چندگانه را فراهم می کنند. متغیرهای موجود در R از نظر واژگانی متناسب بوده و به صورت پویا تایپ می شوند. آرگومان های عملکرد به مقدار منتقل می شوند ،و تنبل هستند - یعنی فقط وقتی مورد استفاده قرار می گیرند ،ارزیابی می شوند ،نه وقتی تابع خوانده می شود.
R از برنامه نویسی رویه ای با توابع پشتیبانی می کند و برای برخی از توابع ،برنامه نویسی شی گرا با توابع عمومی را پشتیبانی می کند. یک عملکرد عمومی بسته به کلاس های استدلالی که به آن منتقل می شود ،متفاوت عمل می کند. به عبارت دیگر ،عملکرد عمومی عملکرد (روش) خاص برای آن کلاس از شی را اعزام می کند. به عنوان مثال ،R دارای یک عملکرد چاپی عمومی است که می تواند تقریباً هر کلاس از شی را در R با یک نحو ساده چاپ (نام شی) چاپ کند.
اگرچه عمدتاً توسط متخصصان آماری و سایر پزشکان مورد استفاده محیطی برای محاسبه آماری و توسعه نرم افزار مورد استفاده قرار می گیرد ،R همچنین می تواند به عنوان یک جعبه ابزار محاسبه ماتریس عمومی عمل کند - با معیارهای عملکردی قابل مقایسه با GNU Octave یا MATLAB.
همانطور که قبلاً گفته شد،R یک زبان برنامه نویسی و یک محیط نرم افزاری برای تجزیه و تحلیل آماری ،نمایش گرافیک و گزارش گیری است. در زیر ویژگی های مهم R آورده شده است:
- R یک زبان برنامه نویسی به خوبی توسعه یافته ،ساده و مؤثر است که شامل شرایط ،حلقهها ،کارکردهای بازگشتی تعریف شده توسط کاربر و ورودی و امکانات خروجی است.
- R دارای یک مرکز ذخیره سازی و ذخیره سازی موثر داده ها
- R مجموعه ای از عملگرها را برای محاسبه روی آرایه ها ،لیست ها ،بردارها و ماتریس ها فراهم می کند.
- R مجموعه ای بزرگ ،منسجم و یکپارچه از ابزارهایی برای تجزیه و تحلیل داده ها ارائه می دهد.
- R امکانات گرافیکی را برای تجزیه و تحلیل داده ها فراهم می کند و به صورت مستقیم در رایانه یا چاپ در مقالات نمایش می دهد.
به عنوان یک نتیجه ،R زبان پرکاربردترین زبان برنامه نویسی آماری در جهان است. این انتخاب شماره یک دانشمندان داده است و توسط یک جامعه پر جنب و جوش و با استعداد از همکاران پشتیبانی می شود. R در دانشگاه ها تدریس می شود و در برنامه های کاربردی تجاری مهم و حیاتی مستقر می شود. این آموزش برنامه نویسی R را به همراه نمونه های مناسب در مراحل ساده و آسان به شما آموزش می دهد.
کاربرد زبان R
علم داده در حال شکل گیری شیوه ای است که شرکت ها مشاغل خود را اداره می کنند. بدون تردید ،دوری از هوش مصنوعی و ماشین آلات باعث می شود که این شرکت به شکست منجر شود. سوال بزرگ این است که از کدام ابزار / زبانی باید استفاده کنید؟
- استنباط آماری
- تحلیل داده ها
- الگوریتم یادگیری ماشین
آنها ابزارهای زیادی برای انجام تجزیه و تحلیل داده ها در بازار موجود هستند. یادگیری یک زبان جدید نیاز به سرمایه گذاری زمانی دارد. تصویر زیر منحنی یادگیری را در مقایسه با توانایی شغلی که یک زبان ارائه می دهد ،نشان می دهد. رابطه منفی دلالت بر عدم وجود ناهار رایگان دارد. اگر می خواهید بهترین اطلاعات را از داده ها بدست آورید ،پس باید کمی وقت خود را صرف یادگیری ابزار مناسب کنید ،که R است.
Excel و پاور بی آی،این دو ابزار برای یادگیری ساده هستند اما توانایی تجاری برجسته ای ندارند ،به ویژه از نظر مدل سازی. در وسط ،می توانید پایتون و SAS را ببینید. SAS ابزاری اختصاصی برای انجام تجزیه و تحلیل آماری برای تجارت است ،اما رایگان نیست. SAS یک کلیک و اجرای نرم افزار است. با این حال ،پایتون زبانی است که دارای یک منحنی یادگیری یکنواخت است. پایتون یک ابزار فوق العاده برای استقرار Machine Learning و هوش مصنوعی است اما فاقد ویژگی های ارتباطی است. با یک منحنی یادگیری یکسان ،R یک تجارت خوب بین پیاده سازی و تجزیه و تحلیل داده ها است.
وقتی صحبت از ویژوال سازی داده ها (DataViz) می شود ،احتمالاً درباره Tableau شنیده اید. تابلو بدون شک ابزاری عالی برای کشف الگوهای از طریق نمودارها و نمودارها است. علاوه بر این ،یادگیری تابلو وقت گیر نیست. یک مشکل بزرگ در تجسم داده ها این است که شما ممکن است هرگز به دنبال یافتن الگویی نباشید یا فقط نمودارهای بی فایده ای ایجاد کنید. تابلو ابزاری ابزار مناسبی برای تجسم سریع داده ها یا هوش تجاری است. وقتی صحبت از آمار و ابزار تصمیم گیری می شود ،R مناسب تر است.
مقایسه R با SAS ،SPSS و Stata
R با بسته های آماری تجاری محبوب مانند SAS ،SPSS و Stata قابل مقایسه است ،اما R بدون مجوز نرم افزار رایگان در دسترس کاربران است. در ژانویه 2009 ،نیویورک تایمز مقاله ای را منتشر کرد که حاوی رشد R ،دلایل محبوبیت آن در بین دانشمندان داده ها و تهدیدی که برای بسته های آماری تجاری مانند SAS ارائه می دهد ،بود. در ژوئن سال 2017 ،دانشمند داده رابرت Muenchen مقایسه عمیق تر بین R و سایر بسته های نرم افزاری با عنوان "محبوبیت نرم افزار داده های علوم" منتشر کرد.
R نسبت به WAS یا SPSS ،کد محوری است که هر دو از روشهای از پیش برنامه ریزی شده (به نام "procs") که در محیط زبان ساخته شده و با پارامترهای هر تماس استفاده می کنند ،استفاده سنگین می کنند. R بطور کلی داده ها را در حافظه پردازش می کند ،که سودمندی آن را در پردازش پرونده های بسیار بزرگ محدود می کند.
معرفی R Studio
RStudio یک محیط توسعه یکپارچه (IDE) برای R است ،یک زبان برنامه نویسی برای محاسبات آماری و گرافیک. RStudio IDE توسط RStudio،Inc. ،یک شرکت تجاری که توسط JJ Allaire ،خالق زبان برنامه نویسی ColdFusion ،تأسیس شده است. RStudio،Inc هیچ ارتباط رسمی با بنیاد R ندارد ،یک سازمان انتفاعی واقع در وین اتریش نیست ،که مسئولیت نظارت بر توسعه محیط R برای محاسبات آماری را بر عهده دارد.
RStudio در دو فرمت موجود است: RStudio Desktop ،که در آن برنامه بصورت محلی به عنوان یک برنامه دسکتاپ معمولی اجرا می شود. و RStudio Server ،امکان دسترسی به RStudio را با استفاده از یک مرورگر وب در حالی که روی یک سرور از راه دور لینوکس کار می کند ،فراهم می کند.
RStudio IDE با نسخه GNU Affero General Public License 3 موجود است. AGPL v3 یک مجوز منبع باز است که آزادی به اشتراک گذاری کد را تضمین می کند. RStudio Desktop و RStudio Server هر دو در نسخه های رایگان و مبتنی بر هزینه (تجاری) در دسترس هستند. پشتیبانی سیستم عامل به قالب / نسخه IDE بستگی دارد. توزیع های از پیش بسته شده RStudio Desktop برای ویندوز ،macOS و Linux موجود است. RStudio Server و Server Pro بر روی Debian ،Ubuntu ،Red Hat Linux ،CentOS ،OpenSUSE و SLES اجرا می شوند.
RStudio IDE تا حدی به زبان برنامه نویسی ++C نوشته شده است و از فریمورک Qt برای رابط کاربری گرافیکی خود استفاده می کند. درصد بیشتر کد در جاوا نوشته شده است. جاوا اسکریپت نیز در بین زبان های مورد استفاده قرار دارد.
کار روی RStudio IDE از حدود دسامبر 2010 آغاز شد و اولین نسخه بتا عمومی عمومی (v0.92) در فوریه 2011 رسماً اعلام شد. نسخه 1.0 در تاریخ 1 نوامبر 2016 منتشر شد. نسخه 1.1 در 9 اکتبر 2017 منتشر شد. در آوریل سال 2018 ،شرکت RStudio اعلام کرد که پشتیبانی آزمایشگاهی و زیرساختی را برای آزمایشگاه های Ursa در حمایت از تمرکز آزمایشگاه بر ساخت یک زمان جدید برای داده های علمی با قدرت توسط Apache Arrow ارائه می دهد.
در آوریل 2019 ،RStudio Inc. محصول جدیدی با نام RStudio Job Launcher را منتشر کرد. راه انداز کار متصل به RStudio Server. پرتابگر این امکان را برای شروع فرآیندها در سیستمهای مختلف پردازش دسته ای (به عنوان مثال Slurm) و سکوهای ارکستر کانتینر (به عنوان مثال Kubernetes) فراهم می کند. این عملکرد فقط در RStudio Server Pro (برنامه مبتنی بر هزینه) در دسترس است.
مثال های زبان R
برای درک این مثال ،باید از موارد برنامه نویسی R آگاهی داشته باشید:
> # We can use the print() function
> print("Hello World!")
[1] "Hello World!"
> # Quotes can be suppressed in the output
> print("Hello World!", quote = FALSE)
[1] Hello World!
> # If there are more than 1 item, we can concatenate using paste()
> print(paste("How","are","you?"))
[1] "How are you?"