آموزش R

آموزش 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

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?"

آیا این نوشته را دوست داشتید؟
pluralsight-advanced-web-scraping-tactics-r-playbook

دوره R Playbook: تاکتیک های پیشرفته وب اسکرپینگ


شما در این دوره، دانش بنیادی خزیدن و اسکرپینگ وب را با استفاده از R فرا خواهید گرفت. ابتدا اصول وب اسکرپینگ با استفاده از توابع پیش فرض R را می آموزید...

1399/10/21 322 بازدید
pluralsight-applying-the-mathematical-mass-model-with-r

اعمال مدل ریاضی MASS با R


قبل از اینکه یادگیری ماشینی و پایتون، آمار را به یک موضوع MASS مورد علاقه مردم تبدیل کند، کل نسل آمارشناسان کاربردی، مهارت خود را از کتاب درسی معروف ب...

1399/10/12 338 بازدید
pluralsight-applying-functions-in-r

اعمال توابع در R


شما در این دوره، دانش بنیادی برنامه نویسی تابعی را در R خواهید آموخت. ابتدا نحوه کارکرد اعمال توابع را خواهید آموخت. سپس، خواهید فهمید که چرا رویکرد ت...

1399/10/11 311 بازدید
pluralsight-coping-with-missing-invalid-and-duplicate-data-in-r

کار با با داده از دست رفته، نامعتبر و تکراری در R


آماده سازی داده، تقریباً بخشی از هر پروژه تجزیه و تحلیل داده است، بنابراین مهارت ها بسیار ارزشمند هستند. در این دوره، کنار آمدن با داده گمشده، نامعتبر...

1399/09/26 434 بازدید زیرنویس دارد
pluralsight-performing-dimension-analysis-with-r

آموزش اجرای تحلیل ابعادی با R


کاهش ابعاد، یک تکنیک قدرتمند و چندمنظوره در یادگیری ماشینی بدون نظارت است که می تواند برای بهبود عملکرد در تقریباً هر مدل ML بکار گرفته شود. با بکارگی...

1399/09/19 520 بازدید
pluralsight-programming-r-matrices-lists-and-arrays

برنامه نویسی R: ماتریس ها، لیست ها، و آرایه ها


در این دوره، شما دانش بنیادین انواع داده و ساختارهای مورد استفاده در R را کسب خواهید کرد. در ابتدا، نحوه کار به طور خاص با ساختار داده های لیست در R ر...

1399/09/13 395 بازدید
pluralsight-programming-with-r

آموزش برنامه نویسی با R


در هسته تحلیل داده، دانش جامعی از برنامه نویسی R وجود دارد. در این دوره، شما نحوه دستکاری اشیاء مختلف را یاد خواهید گرفت. در ابتدا، نحو مقدماتی را فرا...

1399/09/12 495 بازدید
pluralsight-data-analysis-with-shiny-r-playbook

آموزش تحلیل داده ها با R Playbook :Shiny


شما در این دوره،دانش بنیادی پکیج R Shiny را در برنامه نویسی R خواهید آموخت. ابتدا، با هدف R Shiny در حل موانع استقرار در علم داده آشنا خواهید شد. در م...

1399/08/27 406 بازدید زیرنویس دارد
pluralsight-importing-formatted-text-files-r-playbook

آموزش ایمپورت فایل های متنی فرمت بندی شده: پلی بوک R


در این دوره، شما دانش بنیادین ایمپورت فایل های متنی فرمت بندی شده در R را یاد خواهید گرفت. در ادامه، شما مبانی ایمپورت فایل های متنی با استفاده از توا...

1399/08/24 380 بازدید
pluralsight-you-love-big-data-so-does-r

اگر کلان داده ها را دوست دارید، پس R را هم دوست خواهید داشت


استفاده از R با Big Data آسانتر از آن است که فکر می کنید! در این جلسه، Alex Gold نشان می دهد که چگونه R می تواند با ابزارهایی که می شناسید و دوست داری...

1399/08/19 467 بازدید
pluralsight-applying-r-built-in-functions

بکارگیری توابع داخلی R


در این دوره، شما دانش بنیادین در قابلیت بکارگیری اکوسیستم قدرتمند توابع داخلی R را یاد خواهید گرفت. در ابتدا، مبانی استفاده از توابع را یاد خواهید گرف...

1399/08/18 304 بازدید زیرنویس دارد
pluralsight-building-statistical-summaries-with-r

ساخت خلاصه های آماری با R


شما در این دوره، توانایی استفاده از قدرت کامل آمار استنباطی را به دست خواهید آورد که واقعاً به صورت غنی در R پشتیبانی می شوند. ابتدا یاد خواهید گرفت ک...

1399/08/13 437 بازدید
pluralsight-tidyverse-r-playbook

آموزش Tidyverse: پلی بوک R


Tidyverse یکی از بهترین دلایل برای کاربر R بودن است، چرا که قدرت و انعطاف پذیری این کتابخانه به شکل باورنکردنی شهودی است و کار در R را بسیار عالی می ک...

1399/08/12 315 بازدید
pluralsight-creating-a-custom-function-in-r

ایجاد یک تابع سفارشی در R


R یک زبان برنامه نویسی پر کاربرد برای محاسبات آماری و گرافیکی است. در این دوره، شما دانش بنیادی درباره ایجاد توابع سفارشی خود در R را می آموزید...

1399/08/06 315 بازدید
pluralsight-understanding-machine-learning

درک یادگیری ماشینی


آیا تا به حال به این که یادگیری ماشین (ML) چیست، فکر کرده اید؟ در این دوره، شما زبان برنامه نویسی متن باز R را بررسی خواهید کرد، و همچنین آموزش و تست ...

1399/08/03 2287 بازدید زیرنویس دارد
pluralsight-manipulating-dataframes-in-r

دستکاری Dataframes در R


افرادی که از صفحات اسلاید سردرمی آورند از آسان و قدرتمند بودن دستکاری داده های جدولی با استفاده از R، مبهوت می شوند. در این دوره، شما ساختارهای اساسی ...

1399/07/25 357 بازدید
pluralsight-merging-data-sources-with-r

آموزش ادغام منابع داده با R


شما در این دوره، توانایی ادغام داده ها از منابع مختلف را به روشی کنترل شده به دست خواهید آورد که به شما امکان می دهد فقط داده های مورد نیاز خود را حفظ...

1399/07/22 362 بازدید زیرنویس دارد
pluralsight-querying-and-converting-data-types-in-r

آموزش نوشتن کوئری و تبدیل انواع داده ها در R


شما در این دوره، درک خود را از همه این انواع داده ها و نحوه پردازش، تبدیل و فیلتر آن ها توسعه خواهید داد. ابتدا مفاهیم کلی تحلیل داده ها را کاوش می کن...

1399/07/14 420 بازدید
pluralsight-programming-r-vectors-and-factors

آموزش برنامه نویسی فاکتورها و بردارهای R


شما در این دوره، دانش بنیادی در مورد نوع داده ها و ساختارهای موجود درون R را به دست می آورید. ابتدا برخی از متداول ترین نوع داده ها و ساختار داده های ...

1399/07/12 414 بازدید
pluralsight-reshaping-data-with-r

آموزش تغییر شکل مجدد داده ها با R


شما در این دوره، توانایی تغییر شکل مجدد و جمع داده ها با استفاده از زبان برنامه نویسی R را به دست می آورید. ابتدا می آموزید که چگونه داده های قالب گست...

1399/07/10 372 بازدید