اولین قدم برای ورود به دنیای آر
بعد از صحبت هایی که اینجا دربارهی برنامههام برای بلاگ کارین کردم، امروز تصمیم گرفتم که اولین نوشته از این رشتهی نسبتا تخصصی رو شروع کنم. نوشتهی امروز به زبان بامزهی آر و اولین تجربیات خودم طی 5،6 ماه کدزدن باهاش برمیگرده. که به نظرم میتونه یه نقشه راه خامی باشه برای آر دولوپرهایی که تازه میخوان شروع کنن.
اولین قدم برای اینکه با آر آشنا بشیم، اینه که آر رو نصب کنیم. برای همین سراغ وبسایت رسمی خود آر میریم و آخرین نسخه رو دانلود میکنیم. چیزی که مهمه اینه که حتما آخرین نسخه رو بگیریم. چون خیلی از پکیجهایی که در ادامه میخوایم باهاشون کار کنیم با نسخههای جدید آر هماهنگن و نمیتونن با نسخههای قدیمی کار کنند. بعد از دانلود و نصب آر، حالا ما یه محیط برای اسکریپت نویسی به زبون آر داریم. دقیقا مشابه چیزی که برای پایتون با نصب پایتون داریم. یه محیطی مثل شکل زیر که میتونیم کارهای مختلف برنامهنویسی مثل جمع، تفریق رو باهاش انجام بدیم. جایی که میتونیم کارهای تحلیلی و آماری مثل کشیدن انواع نمودارها، رگرسیونها و توزیعهای احتمالی رو انجام بدیم و خروجی بگیریم.
و اما آر استودیو
محیط RGui یه محیط کامله که به درد کدزدن سریع با آر میخوره. ولی اگه بخوایم یه محیط کاملتر با دسترسیهای بیشتر و سر و شکلی زیباتر رو معرفی کنیم به RStudio میرسیم. آر استودیو یه جورایی IDE زبان آر محسوب میشه. البته که به زیبایی و راحتی IDE های شرکت JetBrains نیست ولی یه برنامه سبک و اپن-سورسه که توش میتونیم انواع اسکریپتها و پکیجهای آر و از همه مهمتر شاینی وب اپلیکیشن هارو توسعه بدیم. برای همین در قدم بعدی این برنامه را دانلود و نصب میکنیم تا در ادامه با هم روی یک پروژهی آر کار کنیم.
همینطور که توی این شکل هم میبینیم، پروژههای آر توی آر-استودیو انواع مختلفی دارند. یه مدل طراحی و توسعه پکیجهای آر هست که البته من چیزی دربارش نمیدونم. یه مدل پروژهی معمولیه که با زدن New Project ایجاد میشه و یه مدل دیگه هم Shiny Web Application هست که این مدت باهاش کار کردم.
شاینی چیه و به چه درد میخوره؟
شاینی یکی از پکیجهای آر هست که خیلی توی توسعه و طراحی وبسایتهای آماری و تحلیلی یا مدیریتی کمک میکنه. با شاینی ما میتونیم یه سایت رو بالا بیاریم، همونطور که قبلا با Html یا Css و php اینکارو میکردیم. الآن با شاینی همه اینها رو به راحتی چندین برابری میتونیم کنار هم قرار بدیم. بدون اینکه نگران ریسپانسیو بودن برنامه یا شکل و ظاهرش توی مرورگرهای مختلف باشیم. درواقع شاینی یه پکیج خیلی قویه که باعث میشه ما سایتهای خفنی مثل ویزیت رو بزنیم. بدون اینکه به فکر طول و عرض یا ارتفاع المانهای ظاهری سایت باشیم، خیلی سبک و راحت از تحلیلهای آماری خودمون خروجی بگیریم.
در ادامه با کلیک روی Shiny Web و ساخت یه پروژهی جدید به سراغ طراحی و پیادهسازی یک صفحهی وب آسون میریم. شکل زیر اولین مواجه ما رو با یک شاینی وب نشون میده. اولین کاری که باید بکنیم کلیک روی app.R هست که توی ستون سمت راست در قسمت files دیده میشه. این فایل یه جورایی مثل index.php توی طراحی سایت میمونه. چرا که وقتی برنامه اجرا میشه اولین فایلیه که باز میشه و کدهای توش خونده میشه. برای اجرای برنامه روی Run App کلیک میکنیم و منتظر میمونیم تا لود بشه.
با لود شدن برنامه، یه صفحه مشابه شکل زیر میبینم. یه صفحه واکنشگرا و ریسپانسیو که خیلی سریع به ورودیهای کاربر واکنش نشون میده و خروجی رو تغییر میده. همونطور که میبینین، همهی اینها توی کمتر از 50 خط(با احتساب کامنت) نوشته شده. همینه که نشون میده شاینی خیلی راحتتر و سریعتر از چیزیه که حتی فکرشو بکنیم.
پس با من همراه باشین که توی قسمت بعدی بیشتر دربارهی اجزای یک برنامهی شاینی حرف بزنیم و یاد بگیریم چطور با شاینی کد بزنیم و لذت ببریم.