| تکنولوژی |

زبان برنامه نویسی R چیست؟

زبان برنامه نویسی R چیست؟
ریحانه کیا
نویسنده ریحانه کیا

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

R یک محیط و زبان برنامه نویسی با استفاده و محبوبیت بالا است که در محاسبات آماری، بازاریابی، تجزیه و تحلیلی اطلاعات و تجسم و ارائه آن ها کاربرد دارد.

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

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

زبان برنامه نویسی R؛ چیستی و چرایی

مدتی پیش زبان برنامه نویسی ای به نام S طراحی شد تا به دانشجویان کمک کند در هنگام بازی با داده ها، برنامه نویسی هم یاد بگیرند. زبان R بر پایه S و مانند آن حول یک زبان برنامه نویسی واقعی، طرح شده است (یعنی به کاربران امکان افزودن قابلیت را با طرح توابع جدید می دهد).

با اینکه تفاوت های مهمی بین این دو زبان وجود دارد اما اکثر کدهای S را بدون تغییر می توان در R اجرا کرد. S اغلب وسیله انتخابی در تحقیق با روش آماری است و R یک راه منبع باز (Open source) برای شرکت در چنین فعالیتی فراهم می کند.

R امکانات آماری (مثل مدل سازی خطی و غیر خطی، آزمون های آماری کلاسیک، تحلیل سری زمانی، طبقه بندی، خوشه بندی و...) و تکنیک های گرافیکی بسیاری برای کاربر فراهم می کند. می توان برای کارهای محاسباتی سنگین کدهایی را از زبان های C و C++ وارد و فراخوانی کرد. کاربران پیشرفته می توانند با استفاده از زبان C به طور مستقیم اشیا R را کنترل کنند.

R به عنوان نرم افزاری رایگان به صورت منبع باز، تحت مجوز عمومی GNU قرار دارد. این زبان در طیف گسترده ای از سیستم عامل های UNIX (و سیستم های مشابه مثل Linux)، Windows و MacOS  کامپایل و اجرا می شود.

حتما از خود می پرسید چرا از R استفاده کنیم؟

زبان ها و محیط های مشابه ای از جمله پایتون (Python)، SAS (Statistical Analysis System)، SPSS (Software package for statistical analysis) نیز برای استفاده در کارهای آماری وجود دارند؛ پس واقعا چرا باید به فکر استفاده از R بیفتیم؟

R رایگان و منبع باز است

همانطور که پیش تر گفتیم R تحت مجوز GNU قرار دارد و همچنین اکثر بسته های R نیز تحت همان مجوز هستند؛ این بدین معناست که به راحتی می توانید از آن ها حتی در برنامه های تجاری خود استفاده کنید، بدون آنکه نیازی به تماس با وکیلتان داشته باشید.

R محبوب است و هر روز محبوب تر هم می شود

هر ساله IEEE لیستی از زبان های برنامه نویسی محبوب تهیه و منتشر می کند. در سال 2016، R رتبه 5 را بدست آورد، در حالی که در 2015 در رتبه 6 قرار داشت.

R روی همه سیستم عامل ها قابل اجراست

کدها را در هر سیستمی که بنویسید بدون نیاز به تغییر می توانید در دیگر سیستم ها اجرا کنید. این قابلیت cross platform چیزیست که باید در دنیای رایانه به دنبالش باشیم، همانطور که ماکروسافت با درک این اهمیت پلتفرم دلخواهش .NET را در همه سیستم عامل ها در دسترس قرار داد.

یادگیری R شانس شما را برای کار بالا می برد

طبق نظرسنجی حقوق علم داده که در سال 2014 توسط O’Reilly Media انجام شد، دانشمندان داده در سراسر جهان متوسط حقوقی برابر 98000 دلار دارند. مسلما دانستن زبان R به تنهایی شما را به موقعیت شغلی دلخواه نمی رساند و نیازمند آشنایی با ابزارهای زیادی هستید که R یکی از آن ابزارهای متمایز کننده شما است.

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

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

استفاده از زبان برنامه نویسی r توسط غول های برنامه نویسی

پتانسیل بالای ایجاد گرافیک

از ویژگی های خاص R کتابخانه های بزرگ گرافیکی برای ارائه و تجسم اطلاعات می باشد. نمودارهایی تمیز، زیبا و مناسب مجلات و کتاب ها از ویژگی های R است. تنها گوشه ای از گستردگی این نمودارها در شکل زیر قابل مشاهده است:

 ایجاد کار گرافیکی با زبان برنامه نویسی r

یادگیری R، سخت یا آسان؟

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

با این حال اگر با زمینه برنامه نویسی Python، PHP و یا Java به R وارد می شوید، ممکن است در ابتدا R را گیج کننده بدانید زیرا نحو نوشتن برنامه ها در R کمی متفاوت با زبان های رایج است. با اینکه R تمام توانایی یک زبان برنامه نویسی را دارد، شما در آن خیلی از شرط ها و حلقه ها استفاده نمی کنید و در عوض دستورهای متفاوتی مثل وکتورها، لیست ها، فریم ها، جداول داده، ماتریس ها و... برای ایجاد تغییر بر روی انبوه داده ها، وجود دارد.

کتاب های متعددی درمورد برنامه نویسی R منتشر شده است و اشاره به یکی از منابع ویژه استفاده درمانی و زیستی R خالی از لطف نیست:

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

R for Medicine and Biology : راهنمای قدم به قدم استفاده از محیط آماری R در حوزه های پزشکی است. این کتاب به متخصصان مراقبت های بهداشتی، دانشمندان، کارشناسان آماری و متخصصان اطلاع رسانی توصیه می شود.

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

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

R در دنیای واقعی

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

استفاده از بیوانفورماتیک در تحقیقات کرونا

به طور کلی استفاده از R را می توانیم 3 بخش کنیم:

علوم داده (Data Science):

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

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

محاسبات آماری (Statistical computing):

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

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

فراگیری ماشینی (Machine Learning):

R کاربرد بالایی در تجزیه و تحلیل، پیش بینی و یادگیری ماشین دارد. بسته های متعددی برای کارهای معمول ML مثل رگرسیون خطی و غیرخطی، درخت تصمیم، طبقه بندی خطی و غیرخطی و ... دارد.

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

معرفی ابزار:

بایوکانداکتور ، نرم افزار بیوانفورماتیک

Bioconductor ابزاری برای تجزیه و تحلیل و درک داده های ژنومی با توان بالا است که از زبان R استفاده می کند.

آیا FDA استفاده از R را تایید می کند؟

گاهی تصورات غلطی در صنعت داروسازی مطرح می شوند که می گویند برای آزمایشات بالینی باید تنها از SAS استفاده کرد. منشا این باور غلط احتمالا مربوط به این واقعیت است که داده های بالینی باید دارای فرمت XPT باشند که ابتدا توسط SAS ایجاد شده است.

در کنفرانس UseR 2012، متخصص زیست سنجی FDA ،Jae Brodsky ، با استفاده از پوستری سیاست FDA را در مورد نرم افزار مورد استفاده در تهیه مقالات برای گرفتن تاییدیه دارو با آزمایشات بالینی مطرح کرد: اسپانسرها می توانند از R در مقالات خود استفاده کنند.

FDA الزامی بر استفاده از نرم افزار خاصی در آزمایشات بالینی ندارد و همچنین مقرراتی برای منع استفاده از نرم افزار های open source وجود ندارد. با این وجود، هر نرم افزاری که برای تجزیه و تحلیل اطلاعات آزمایشات بالینی به کار می رود، باید مطابق قوانین و دستورالعمل های FDA باشد.

سند راهنمای استفاده از R در محیط های کارآزمایی بالینی

در آخر

بی شک R می تواند تمام الزامات مربوط به کارهای آماری را به خوبی تامین کند و برای آن مناسب است. R می تواند به طور کامل جایگزین SAS شود و یا با آن همکاری کند.

در جهانی که هر روزه اهمیت و حجم اطلاعات در تمام زمینه ها از جمله موارد مربوط به حوزه های زیستی، بیوانفورماتیک، بالینی و... بالا می رود؛ نیاز شدیدی به یادگیری و استفاده درست از ابزاری مثل R احساس می شود.

اگر برای شما هم استفاده از کامپیوترها و مهارت های مربوطه مثل برنامه نویسی جالب است، شرکت در مدرسه تخصصی کشف و طراحی کامپیوتری دارو را بهتون پیشنهاد می دهم.

درباره نویسنده

ریحانه کیا

ریحانه کیا

ریحانه هستم؛ دانشجوی رشته داروسازی دانشگاه علوم پزشکی تهران و دارنده مدال برنز المپیاد شیمی. معمولا مسائل را از زوایای مختلف بررسی و سعی می کنم به دیدی چندجانبه برسم تا افراد و مسائل را بهتر درک کنم. دوست دارم فراتر از مرز رشته تحصیلی ام قدم بگذارم و مطالب دیگری نیز یاد بگیرم. امیدوارم بتوانم آنچه را که یاد می گیرم، در عمل استفاده کنم.

0 نظر

ارسال نظر