زبان r ویکی. زبان برنامه نویسی R و جایگاه آن در بین برنامه های آماری

برنامه نویسی در سطح R. 1. مبانی

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

این دوره برای طیف وسیعی از متخصصان در نظر گرفته شده است که نیاز به جستجوی الگوها در مقادیر زیاد داده ها، تجسم آنها و ایجاد نتیجه گیری های آماری صحیح دارند: جامعه شناسان، مدیران کارآزمایی بالینی/داروشناسان، محققان (نجوم، فیزیک، زیست شناسی، ژنتیک، پزشکی، و غیره)، تحلیلگران فناوری اطلاعات، تحلیلگران تجاری، تحلیلگران مالی، بازاریابان. این دوره همچنین برای متخصصانی که با عملکرد (یا هزینه ها) راحت نیستند جذاب خواهد بود.

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

پس از پایان دوره گواهی آموزش پیشرفته مرکز صادر می شود.

بسیاری از نمونه ها و مقالات در این سایت به طور فعال از زبان برنامه نویسی "R" استفاده می کنند.

R برای لینوکس معمولاً می تواند با استفاده از مخازن توزیع شما نصب شود. من از توزیع های مبتنی بر دبیان استفاده می کنم که در آن دستور استاندارد برای نصب R به شکل زیر است:

Sudo apt نصب r-base

باید این را در ترمینال تایپ کنید.

زیبایی R در این است:

  1. این برنامه رایگان است (توزیع شده تحت مجوز GPL)،
  2. بسته های زیادی برای این برنامه نوشته شده است تا طیف وسیعی از مشکلات را حل کند. همه آنها نیز رایگان هستند.
  3. این برنامه بسیار انعطاف پذیر است: اندازه هر بردار و ماتریس را می توان به درخواست کاربر تغییر داد، داده ها ساختار سفت و سختی ندارند. این ویژگی در مورد پیش‌بینی، زمانی که محقق نیاز به پیش‌بینی برای یک دوره دلخواه دارد، بسیار مفید است.

ویژگی دوم به ویژه مرتبط است زیرا سایر بسته‌های آماری (مانند SPSS، Eviews، Stata) فرض می‌کنند که ما فقط ممکن است علاقه مند به تجزیه و تحلیل داده‌هایی باشیم که ساختار ثابتی دارند (به عنوان مثال، همه داده‌های موجود در یک فایل کاری باید دوره‌بندی یکسانی داشته باشند. با تاریخ شروع و پایان یکسان).

با این حال، R دوستانه ترین برنامه نیست. هنگام کار با آن، ماوس را فراموش کنید - تقریباً تمام مهمترین اقدامات در آن با استفاده از خط فرمان انجام می شود. با این حال، برای اینکه زندگی کمی آسان‌تر شود و خود برنامه کمی استقبال کند، یک برنامه frontend به نام RStudio وجود دارد. شما می توانید آن را از اینجا دانلود کنید. این پس از نصب R خود نصب می شود. RStudio دارای بسیاری از ابزارهای راحت و یک رابط خوب است، با این حال، تجزیه و تحلیل و پیش بینی در آن هنوز با استفاده از خط فرمان انجام می شود.

بیایید سعی کنیم نگاهی به این برنامه فوق العاده بیندازیم.

آشنایی با RStudio

رابط RStudio به شکل زیر است:

در گوشه سمت راست بالا در RStudio نام پروژه نشان داده شده است (که در حال حاضر "هیچکدام" را داریم - یعنی وجود ندارد). اگر روی این کتیبه کلیک کرده و "پروژه جدید" (پروژه جدید) را انتخاب کنیم، از ما خواسته می شود که یک پروژه ایجاد کنیم. برای اهداف پیش‌بینی اولیه، فقط «دایرکتوری جدید» (یک پوشه جدید برای پروژه)، «پروژه خالی» (یک پروژه خالی) را انتخاب کنید و سپس نام پروژه را وارد کنید و دایرکتوری را انتخاب کنید که در آن ذخیره شود. از قوه تخیل خود استفاده کنید و سعی کنید نام خود را به دست آورید :).

هنگام کار با یک پروژه، همیشه می توانید به داده ها، دستورات و اسکریپت های ذخیره شده در آن دسترسی داشته باشید.

در سمت چپ پنجره RStudio کنسول قرار دارد. اینجاست که دستورات مختلفی را وارد خواهیم کرد. برای مثال، بیایید موارد زیر را بنویسیم:

این دستور 100 متغیر تصادفی را از یک توزیع نرمال با انتظار صفر و واریانس واحد تولید می‌کند، سپس برداری به نام x ایجاد می‌کند و 100 مقدار حاصل را در آن می‌نویسد. سمبل "<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->"، اگرچه متغیر ما در این مورد باید در سمت راست باشد. به عنوان مثال، کد زیر یک شی "y" را ایجاد می کند که کاملاً با شی "x" یکسان است:

اکنون این بردارها در قسمت سمت راست بالای صفحه، زیر برگه ای که من آن را "محیط زیست" نامیده ام ظاهر می شوند:

تغییرات در برگه "محیط زیست".

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

\(A = \begin (pmatrix) 1 & 1 \\ 0 & 1 \end (pmatrix) \)

با این دستور:

سپس در تب "محیط زیست" ظاهر می شود:

هر تابعی که از آن استفاده می کنیم مستلزم آن است که مقداری را به پارامترهای خاصی اختصاص دهیم. تابع matrix() دارای پارامترهای زیر است:

  • داده – بردار با داده هایی که باید در ماتریس نوشته شوند،
  • nrow - تعداد سطرها در ماتریس،
  • ncol - تعداد ستون ها در ماتریس،
  • byrow - پارامتر منطقی. اگر "TRUE" (درست)، ماتریس در ردیف ها (از چپ به راست، سطر به سطر) پر می شود. به طور پیش فرض، این پارامتر روی FALSE تنظیم شده است.
  • dimnames - یک برگه با نام ردیف و ستون.

برخی از این پارامترها دارای مقادیر پیش‌فرض هستند (مثلاً byrow=FALSE)، در حالی که برخی دیگر را می‌توان حذف کرد (به عنوان مثال، dimnames).

یکی از ترفندهای "R" این است که هر تابعی (مثلاً ماتریس()) با تعیین مقادیر مستقیم قابل دسترسی است:

یا می توانید این کار را به روشی که قبلا انجام دادیم انجام دهید - با رعایت دنباله و حذف نام پارامترها.

برای مشاهده محتویات هر شیئی که در تب "محیط زیست" قرار دارد، فقط نام آن را در کنسول چاپ کنید:

گزینه دیگر این است که روی نام شیء در تب "محیط" کلیک کنید.

که در آن ماتریس نام تابع مورد نظر ما است. در این مورد، RStudio پانل "Help" را به خصوص برای شما با توضیحات باز می کند:

همچنین می‌توانید با تایپ کردن نام تابع در پنجره «جستجو» (نماد با لنز) در برگه «Help» در مورد یک تابع کمک بیابید.

اگر دقیقاً به یاد ندارید که چگونه نام یک تابع را بنویسید یا از چه پارامترهایی در آن استفاده شده است، فقط شروع به نوشتن نام آن در کنسول کنید و دکمه "Tab" را فشار دهید:

علاوه بر همه اینها، می توانید اسکریپت هایی را در RStudio بنویسید. در صورت نیاز به نوشتن برنامه یا فراخوانی دنباله ای از توابع، ممکن است به آنها نیاز داشته باشید. اسکریپت ها با استفاده از دکمه با علامت مثبت در گوشه سمت چپ بالا ایجاد می شوند (شما باید "R Script" را در منوی کشویی انتخاب کنید). در پنجره ای که بعد از این باز می شود، می توانید هر تابع و نظری را بنویسید. به عنوان مثال، اگر بخواهیم یک نمودار خطی روی سری x رسم کنیم، می توانیم این کار را به صورت زیر انجام دهیم:

نمودار (x) خطوط (x)

تابع اول یک نمودار پراکندگی ساده ایجاد می کند و تابع دوم خطوطی را در بالای نقاطی که نقاط را به صورت سری به هم متصل می کنند اضافه می کند. اگر این دو دستور را انتخاب کنید و "Ctrl+Enter" را فشار دهید، آنها اجرا می شوند و باعث می شود RStudio زبانه "Plot" را در گوشه سمت راست پایین باز کند و نمودار ترسیم شده را در آن نمایش دهد.

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

در صورتی که نیاز به ارجاع به فرمانی داشته باشید که قبلاً در گذشته تایپ کرده اید، یک برگه "History" در سمت راست بالای صفحه وجود دارد. در آن می توانید هر دستوری را که به آن علاقه دارید پیدا کرده و انتخاب کنید و برای چسباندن آن در کنسول دوبار کلیک کنید. در خود کنسول می توانید با استفاده از دکمه های بالا و پایین صفحه کلید خود به دستورات قبلی دسترسی پیدا کنید. ترکیب کلید "Ctrl+Up" به شما امکان می دهد لیستی از تمام دستورات اخیر را در کنسول نشان دهید.

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

همانطور که قبلاً اشاره کردم، بسته های زیادی برای R وجود دارد. همه آنها در سرور CRAN قرار دارند و برای نصب هر یک از آنها باید نام آن را بدانید. نصب و به روز رسانی بسته ها با استفاده از برگه "بسته ها" انجام می شود. با رفتن به آن و کلیک بر روی دکمه “Install” چیزی شبیه به منوی زیر مشاهده خواهیم کرد:

بیایید در پنجره باز شده تایپ کنیم: forecast بسته ای است که توسط Rob J. Hyndman نوشته شده است و شامل یک سری توابع مفید برای ما است. روی دکمه "نصب" کلیک کنید، پس از آن بسته "پیش بینی" نصب خواهد شد.

همچنین، می‌توانیم هر بسته‌ای را با دانستن نام آن، با استفاده از دستور موجود در کنسول نصب کنیم:

Install.packages ("صاف")

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

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

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

کتابخانه (پیش بینی)

یک مشکل ناخوشایند ممکن است در ویندوز ظاهر شود: برخی از بسته ها به راحتی دانلود و مونتاژ می شوند، اما به هیچ وجه نصب نمی شوند. R در این مورد چیزی شبیه به: "هشدار: قادر به حرکت نصب موقت نیست..." می نویسد. تنها کاری که باید در این مورد انجام دهید این است که پوشه با R را به استثناهای آنتی ویروس خود اضافه کنید (یا هنگام نصب بسته ها آن را خاموش کنید).

پس از دانلود بسته، تمام توابع موجود در آن در دسترس ما خواهد بود. به عنوان مثال، تابع tsdisplay() که می تواند به صورت زیر استفاده شود:

Tsdisplay(x)

او برای ما سه نمودار می‌سازد که در فصل «مجموعه ابزار پیش‌بینی‌کننده» در مورد آنها بحث خواهیم کرد.

علاوه بر بسته پیش بینی، من اغلب از بسته Mcomp برای نمونه های مختلف استفاده می کنم. این شامل سری داده از پایگاه داده M-Competition است. بنابراین توصیه می کنم آن را نیز نصب کنید.

اغلب ما نه تنها به مجموعه داده ها، بلکه به داده های کلاس "ts" (سری های زمانی) نیاز خواهیم داشت. برای ایجاد یک سری زمانی از هر متغیری، باید دستور زیر را اجرا کنید:

در اینجا پارامتر start به ما امکان می دهد تاریخی را که سری زمانی ما از آن شروع می شود را مشخص کنیم و فرکانس فرکانس داده ها را مشخص می کند. عدد 12 در مثال ما نشان می دهد که ما با داده های ماهانه سروکار داریم. در نتیجه اجرای این دستور، بردار x خود را به یک سری زمانی از داده های ماهانه از ژانویه 1984 تبدیل می کنیم.

اینها عناصر اساسی R و RStudio هستند که به آنها نیاز خواهیم داشت.

P.P.S. یک راهنمای نسبتا خوب برای R در وب سایت QSAR4U توسط Pavel Polishchuk منتشر شده است.

P.P.P.S. اطلاعات زیادی در مورد R در وب سایت رسمی ارائه شده است.

کار مستقل

در اینجا چند کار وجود دارد که می‌توانید خودتان در R انجام دهید. دستورات زیر را اجرا کنید، ببینید چه اتفاقی می‌افتد و سعی کنید دلیل این اتفاق را بفهمید:

(41/3 + 78/4)*2 2^3+4 1/0 0/0 max(1,min(-2.5),max(2,pi)) sqrt(3^2+4^2 ) exp (2)+3i log(1024) log(1024، پایه=2) c(1:3) c(1:5)*2 + 4 x

]. "پرولتاریای کار ذهنی." فیزیکدان با تحصیلات. من بیش از 30 سال است که در زمینه پردازش اطلاعات پزشکی و بیولوژیکی فعالیت می کنم.
من دقیقا 10 سال است که در R کار می کنم و پس از 15 سال همکاری نزدیک با Matlab به آن مهاجرت کرده ام. دلیل اصلی مهاجرت به یک پلتفرم کاری دیگر، مهاجرت فیزیکی خودم به سمت مخالف زمین به اوکلند، نیوزیلند بود. اینجا زندگی از همان روزهای اول مرا به آغوش آر هل داد که هنوز پشیمان نشده ام.

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


در این پست

  • R چیست؟
  • او از کجا آمده است
  • چرا من او را دوست دارم
  • افسانه ها و حقیقت

چه اتفاقی افتاده است آر

اول از همه آرسیستمی برای محاسبات آماری و سایر محاسبات علمی با استفاده از زبان برنامه نویسی است اس .

اس- زبان نوشته شده توسط آماردانان برای آماردانان.همانطور که توسط نویسنده جان چمبرز تعریف شده است. این زبان از زمان معرفی بسیار مورد استقبال قرار گرفته است و توسط نسل‌هایی از کاربران آماری بسیار سخت‌گیر مورد آزمایش قرار گرفته است. می توان در نظر گرفت که در جامعه آماری جهانی کاملاً شناخته شده و پذیرفته شده است. روی زبان استعدادی از مدل‌های بحرانی اپیدمیولوژیک، زیست‌محیطی و مالی در سراسر جهان و در بسیاری از صنایع اجرا شده‌اند و هنوز در حال اجرا هستند. زبان از نظر من به عنوان یک "کاربر نوشتن" چگونه است؟ اسجایگزین بسیار دلپذیری برای زبان است SAS .

از تجربه خودم - مقدمه و اولین درس اسمن خودم آن را در اوایل دهه 90 از کارشناسان آمار WHO دریافت کردم که در آن زمان با آنها در تحقیقات علمی ارتباط داشتم.

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

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

از کجا آمده؟ اسو این چه ربطی به R دارد

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

آزمایشگاه‌های بل (معروف به آزمایشگاه‌های بل، آزمایشگاه‌های بل AT&T) در تاریخ علم و فناوری و به‌ویژه فناوری اطلاعات کاملاً مشهور هستند. تحقیقات آماری در آنجا همیشه با جدیت انجام می شد و همچنین به طور جدی توسط تمام ابزارهای رایانه ای موجود (بخوانید - هزاران کد Fortran و Lisp) پشتیبانی می شد.

چیزی که بعداً به زبان S تبدیل شد در دهه 1970 به ابتکار و هدایت جان چمبرز به عنوان مجموعه ای از اسکریپت ها ایجاد شد که "تغذیه" داده ها را به کد فرترن آسان تر می کرد. آن ها تمرکز اصلی بر روی کار دستکاری داده های تعاملی، فشرده بودن، سهولت نوشتن و خوانایی کد و به دست آوردن خروجی مناسب در انواع دستگاه ها، جداول و نمودارها بود.

نحو زبان ساخت ساختارهای داده تقریباً دلخواه پیچیده، ابزارهایی برای توصیف وظایف و اشیاء آماری خاص - آمار را فراهم می کند. تست ها، مدل ها و غیره

از سال 1984، این زبان نامی پیدا کرده است، "کتاب مقدس" خود (کتابی از چمبرز و بکرز منتشر شد: S: یک محیط تعاملی برای تجزیه و تحلیل داده ها و گرافیک) به طور پیش فرض شامل یک "مجموعه آقایان" تقریباً کامل از آمار و "دانشمندان احتمالی" - توزیع ها، مولدهای اعداد تصادفی، تست های آماری، بسیاری از تجزیه و تحلیل های آماری استاندارد، کار با ماتریس ها و غیره بود، و به سیستم توسعه یافته ای اشاره نمی کنیم. گرافیک علمی مهمترین چیز این است که با قیمت بسیار مناسب در دسترس کاربران سراسر جهان قرار گرفته است.

در سال 1988 (کتاب دیگری منتشر شد زبان S جدید) - با استفاده از OOP اصلاح شد، همه چیز به اشیایی با مقادیر پیش فرض بسیار معقول، دسترسی برای اصلاح، عناصر خود-اسناد و غیره و غیره تبدیل شد.

در همان زمان، آزمایشگاه ها کد منبع و "آزمایشگاه بل" را منتشر کردند. اسبرای دانش آموزان و برای استفاده علمی رایگان شد. همه اینها به نوعی با "دکولاک کردن" AT&T مرتبط بود، اما من دیگر علاقه زیادی به این جزئیات نداشتم.

پیاده سازی های تجاری این زبان وجود داشته و احتمالاً هنوز هم وجود دارد اس. برخورد کردم اس پلاسو S2000. آنها توسط شرکت‌های مختلف در زمان‌های مختلف حمایت می‌شدند، عمدتاً زندگی (زندگی؟) به دلیل حمایت قبلاً ایجاد شده اسبرنامه های کاربردی. در این نسخه های پس از بل اسنسخه جدیدی از موتور OOP ظاهر شد ، اما برای کاربر خالص از نظر سازگاری با کد تاریخی تقریباً بدون خون بود.

آر- تنها اجرای غیرتجاری و کاملاً مستقل (از بل اصلی) زبان اس.

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

و اکنون R

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

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

راس ایهاکا، دانشجو و سپس محقق دپارتمان آمار در دانشگاه اوکلند، موضوع پایان نامه خود را (که در MIT آمریکا انجام شد) برای بررسی امکان ساخت ماشین مجازی (VM) برای آمار انتخاب کرد. زبانهای برنامه نویسی. زبان میانی انتخاب شده بود لیسپ (Common Lisp، CL) و نمونه اولیه VM را پیاده سازی می کند که زیر مجموعه های کوچکی از آن را "درک" می کند SASو اس.
راس برای تکمیل پایان نامه خود به اوکلند بازگشت و به زودی با رابرت جنتلمن آشنا شد و به پروژه R علاقه مند شد.
راس هرگز از پایان نامه خود دفاع نکرد، اما در حال حاضر دارای مدرک آکادمیک از چندین دانشگاه "بر اساس شایستگی ترکیبی" است. سال گذشته این عنوان به وی اعطا شد و مقام دانشیار (استیاری) را در دانشگاه محل سکونت خود دریافت کرد.

رابرت جنتلمن، آماردان دیگری با اشتیاق به برنامه نویسی، اصالتاً اهل کانادا، در حالی که در دانشگاه اوکلند دوره کارآموزی می کرد (او در آن زمان در استرالیا کار می کرد)، به راس پیشنهاد کرد «زبان بنویسد».
طبق افسانه ای که من خودم از این "پدران بنیانگذار" شنیدم، آنها فقط در عرض یک ماه، در یک شور و شوق جنون آمیز، بازنویسی کردند. C.L.تقریبا همه تیم ها اساز جمله یک کتابخانه مدلسازی خطی قدرتمند.

موتور محاسباتی آر، با پیروی از سنت های نمونه اولیه، کتابخانه شناخته شده، پذیرفته شده و رایگان BLAS (با قابلیت استفاده از ATLAS و غیره با همین رابط) انتخاب شد.
پل مورل، یکی از نزدیک ترین دوستان راس و همچنین کارمند دانشگاه اوکلند، از راه خود خارج شد و (به نظر می رسد به زبان C) یک موتور گرافیکی از ابتدا نوشت که عملکرد آن را به طور کامل بازتولید می کند. اس.

نتیجه یک بسته رایگان و کاملا کاربردی بود که فوراً در فرآیند آموزشی در دانشگاه اوکلند، کاملاً مطابق با توضیحات کتابهای بسیار دقیق و باکیفیت چمبرز بود که به طور سنتی در جلد شومیز و با کیفیت چاپ متوسط ​​منتشر می شد. ارزان و در دسترس بودند.
چندین گروه فعال در جنبش گنو (به عنوان مثال GIS) R را به عنوان پلت فرمی برای محاسبات علمی پذیرفته اند.

اما واقعاً گسترده ترین شهرت آرزمانی که یکی از "پدران" رابرت جنتلمن که در آن زمان در کار شرکت Affimmetrix درگیر بود، در بیوانفورماتیک به دست آمد. منبع پروژه Bioconductor. در حال حاضر زیست رسانارهبر بلامنازع در بیوانفورماتیک منبع باز برای همه "omics" (ژنومیک، پروتئومیکس، متابولومیک، و غیره) است.

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

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

چرا من او را دوست دارم (فهرست)

  1. تعامل، "برنامه نویسی با داده" - سبک کار مورد علاقه من
  2. زبان زیبا (برای یک آماتور) - من عاشق لیست ها، فریم های داده، برنامه نویسی کاربردی و توابع لامبدا هستم (a-la) آزادی بیان: همین مشکل را می توان به ده روش حل کرد (احساس روتین را کاهش می دهد)
  3. "به این دنیا با هوشیاری نگاه می کند" - به ندرت کسی را "خراش" یا "تعلیق" می کند، عملیات منطقی با داده های از دست رفته، مدیریت خطا در زمان اجرا (سعی-خطا)، تبادل آسان با سیستم در سطح استاندارد ورودی/خروجی و غیره.
  4. مجموعه ای کامل از رویه های آماری آماده برای استفاده
  5. به خوبی مستند شده و به خوبی نگهداری می شود - سازگاری، تداوم و غیره.
  6. یک جامعه حرفه ای خوشایند انسانی (تالارها، کنفرانس های کاربران و غیره) در اطراف من جمع آوری کرد.
  7. رابط کاملاً مستند برای کتابخانه های خارجی و عملکردها در هر چیزی - Fortran، C، Java. از این رو، دریایی از کتابخانه‌های مستند در تمام جنبه‌های آمار و علم داده در تقریباً هر زمینه‌ای از علم، اما با تمرکز اولیه بر بیوانفورماتیک/آمار زیستی؛ اگر اراده نویسنده برای آن وجود داشته باشد، همه چیز به طور منظم و درست به روز می شود
  8. عدم وجود یک رابط کاربری گرافیکی اجباری در "پیکربندی اولیه" - خوب، من یک فرد "موس" نیستم!
خارج از فهرست: من فقط خوشحالم که ابزار کار اصلی من ... روح دارد.
این چیزی است که من در واقع سعی می کنم در مقاله خود نشان دهم.

چرا و چگونه از آن استفاده می کنم (مثال)

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

افسانه ها و حقیقت

آر آهسته
R «نازک» است، از کتابخانه‌های blas/lapack/atlas برای محاسبات استفاده می‌کند، سعی کنید چیزی سریع‌تر از این «اسب‌های کار» قدیمی خوب Fortran (اغلب) بنویسید. همه توابع حیاتی معمولاً از عملیات برداری استفاده می کنند و در آن پیاده سازی می شوند با.
R به طور غیرمنطقی از منابع محاسباتی به ویژه حافظه استفاده می کند
بله، توسعه دهندگان به این گناه اعتراف می کنند. اما زمان کار یک متخصص اکنون بسیار گرانتر از سخت افزار است. اسباب‌بازی‌ها را از یک کامپیوتر کار مدرن خالی کنید و با R با اکثر مجموعه‌های داده واقعی مشکلی نخواهید داشت.
نرم افزار رایگان ممکن است قابل اعتماد نباشد
شاید: فرترن، لینوکس، سی، لیسپ، جاواو غیره.
به جای پایان نامه
همانطور که در بالا گفته شد، پست زیر در واقع ترجمه ای از ارائه من برای یک مخاطب هدف نسبتاً خاص است و من به طور خلاصه این مخاطبان را شرح خواهم داد.

بسیاری از شرکت‌های «پاک» فناوری اطلاعات باید با چنین افرادی ملاقات کنند، زیرا تولید مواد غذایی مدت‌هاست با نفت و سایر منابع انرژی برای جذب سرمایه و کسب سود رقابت می‌کند. و ظرفیت بازار بیوانفورماتیک در پزشکی و فارماکولوژی محدود است، مهم نیست که چگونه به آن نگاه کنید.

بنابراین، مخاطبان من افرادی هستند که دارای تحصیلات پایه در زمینه ژنتیک و اصلاح نژاد، دامپزشکی و کمتر اوقات زیست شناسی (عمدتاً مولکولی) هستند. بچه ها و خاله ها (بیشتر از دومی) 20-30 ساله ... برنامه نویسی (!) در FORTRANEیا VB، معروف است که جداول اکسل را با 100 هزار سطر/ستون مدیریت می کند و به طور دوره ای وظایف خود (و برنامه نویسی آنها) را بر روی خوشه هسته 500+ رایانش لینوکس با 12 ترابایت حافظه مشترک "رها" می کند و هر از گاهی نیاز به گسترش حافظه دیسک توسط دیگری دارد. ده ترابایت

مبنای روش‌شناسی ترکیبی انفجاری از تحلیل‌های واریانس به قدمت جهان با مدل‌های ترکیبی است که به هیچ وجه به جز با روش حداکثر احتمال، شبکه‌های بیزی «ذوب مغز» و غیره حل نشده‌اند.

داده ها - جداول داده از واحدها تا ده ها هزار ردیف، گاهی اوقات شامل 1-5 ستون با فنوتیپ، اما بیشتر و بیشتر - ده ها یا صدها ستون "Ka" از متغیرها که همبستگی ضعیفی با یکدیگر و با فنوتیپ ها دارند.

خوب، بله، آنها همچنین "سنت خوبی" دارند که به همه چیز از نظر پیوندهای خانوادگی (به هر حال ژنتیک) نگاه می کنند. پیوندهای خویشاوندی به طور سنتی در قالب یک ماتریس از "پیوندهای خویشاوندی" (شجره نامه) با ابعاد مثلاً 40000 در 40000 ارائه می شود (این در صورتی است که 40000 حیوان وجود داشته باشد). خوب، یا (در حال حاضر، خوشبختانه فقط در پروژه) 20,000,000 x 20,000,000 - این برای "پوشش" با یک مدل واحد تمام 20 میلیون حیوان تاریخی موجود در پایگاه داده است ( DB2، اگر کسی علاقه مند است، و حتی Cobol هنوز از همه جا "بریده نشده است...)

روی میزهای پر از ادبیات (در همان زمان) Fortran، Java، C#، Scala، Octavia، Linux for Dummiesمی توانید فارغ التحصیلان اخیر بیوانفورماتیک را بشناسید. اما بسیاری از آنها به سرعت علم را ترک می کنند تا به "کدگذار" تبدیل شوند.

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

من می خواهم در مورد استفاده از محیط تحلیل آماری رایگان R صحبت کنم. من آن را جایگزینی برای بسته های آماری مانند آمار SPSS می دانم. با تأسف عمیق من، در وسعت سرزمین مادری ما کاملاً ناشناخته است، اما بیهوده. من معتقدم که توانایی نوشتن رویه های تجزیه و تحلیل آماری اضافی در S، R را به یک ابزار تجزیه و تحلیل داده مفید تبدیل می کند.

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

دانشجویان من قبلاً یک دوره ترم طولانی در نظریه احتمال گذرانده بودند که مبانی فضاهای احتمال گسسته، احتمالات شرطی، قضیه بیز، قانون اعداد بزرگ، پیشینه ای در مورد قانون عادی و قضیه حد مرکزی را پوشش می داد.

حدود پنج سال پیش، من قبلاً در درس (در آن زمان ترکیبی) ترم "مبانی تئوری احتمالات و آمار ریاضی" دروس تدریس می کردم، بنابراین یادداشت های خود را (قبل از هر کلاس به دانش آموزان) در مورد آمار گسترش دادم. اکنون که دانشگاه دولتی روسیه برای علوم انسانی دارای یک سرور دانشجویی isdwiki.rsuh.ru از این دپارتمان است، من به طور همزمان آنها را در FTP آپلود می کنم.

این سوال پیش آمد: برای برگزاری کلاس های عملی در کلاس کامپیوتر از چه برنامه ای استفاده کنم؟ مایکروسافت اکسل که اغلب استفاده می شد هم به دلیل اختصاصی بودن و هم به دلیل اجرای نادرست برخی از رویه های آماری رد شد. شما می توانید در این مورد، به عنوان مثال، در کتاب A.A. Makarov و Yu.N. Tyurin "تجزیه و تحلیل آماری داده ها در رایانه" بخوانید. صفحه‌گسترده‌های Calc از مجموعه رایگان Openoffice.org روسی‌سازی شده‌اند، به طوری که من به سختی می‌توانم عملکرد مورد نیاز را پیدا کنم (نام آن‌ها نیز به طرز مشمئزکننده‌ای مخفف شده است).

متداول ترین بسته مورد استفاده SPSS Statistics است. SPSS اکنون توسط IBM خریداری شده است. از مزایای آمار SPSS IBM می خواهم به آن اشاره کنم:

  • بارگیری راحت داده ها در قالب های مختلف (Excel، SAS، از طریق OLE DB، از طریق درایور مستقیم ODBC).
  • در دسترس بودن هر دو زبان فرمان و سیستم منوی گسترده برای دسترسی مستقیم به روش های مختلف تجزیه و تحلیل آماری.
  • ابزارهای گرافیکی برای نمایش نتایج؛
  • ماژول مربی آمار داخلی که به صورت تعاملی یک روش تحلیل کافی را پیشنهاد می کند.
معایب IBM SPSS Statistics به نظر من عبارتند از:
  • پرداخت حتی برای دانشجویان؛
  • نیاز به دریافت ماژول های (به علاوه پرداخت شده) حاوی رویه های خاص؛
  • فقط از سیستم عامل های لینوکس 32 بیتی پشتیبانی می کند، اگرچه ویندوز از هر دو نسخه 32 بیتی و 64 بیتی پشتیبانی می کند.
به عنوان جایگزین، من را انتخاب کردم. این سیستم با تلاش رابرت جنتلمن و راس ایهاک در بخش آمار دانشگاه ملبورن در سال 1995 شروع به توسعه کرد. حروف اول نام نویسندگان عنوان آن را مشخص می کرد. پس از آن، آماردانان برجسته در توسعه و گسترش این سیستم مشارکت کردند.

من مزایای سیستم مورد بحث را در نظر می گیرم:

  • توزیع برنامه تحت مجوز عمومی گنو.
  • در دسترس بودن کد منبع و ماژول های باینری در شبکه گسترده مخزن CRAN (شبکه آرشیو R جامع). برای روسیه، این سرور cran.gis-lab.info است.
  • در دسترس بودن بسته نصبی برای ویندوز (در هر دو نسخه 32 و 64 بیتی ویستا کار می کند). به طور تصادفی مشخص شد که نصب به حقوق مدیر تحت ویندوز XP نیاز ندارد.
  • امکان نصب از یک مخزن در لینوکس (برای من در نسخه 64 بیتی اوبونتو 9.10 کار می کند).
  • در دسترس بودن زبان برنامه نویسی خودمان برای رویه های آماری R که در واقع به یک استاندارد تبدیل شده است. برای مثال، به طور کامل توسط توسعه دهنده آماری جدید IBM SPSS پشتیبانی می شود.
  • این زبان توسعه‌ای از زبان S است که در آزمایشگاه‌های بل توسعه یافته است، که در حال حاضر اساس سیستم تجاری S-PLUS را تشکیل می‌دهد. اکثر برنامه های نوشته شده برای S-PLUS را می توان به راحتی در محیط R اجرا کرد.
  • امکان تبادل داده با صفحات گسترده؛
  • امکان ذخیره کل تاریخچه محاسبات برای اهداف مستندسازی.
برای درس اول سی دی هایی تهیه شد که فایل های نصب، مستندات و دفترچه راهنما روی آن ها ثبت شد. در مورد دومی بیشتر به شما خواهم گفت. CRAN راهنمای کاربر دقیقی را در مورد نصب، زبان R (و زیرمجموعه آن S)، نوشتن رویه های آماری اضافی، و صادرات و وارد کردن داده ها ارائه می دهد. بخش اسناد مشارکتی شامل تعداد زیادی از انتشارات معلمان آمار است که از این بسته در فرآیند آموزشی استفاده می کنند. متأسفانه، چیزی به زبان روسی وجود ندارد، اگرچه، به عنوان مثال، حتی یک مورد در لهستانی وجود دارد. در میان کتاب های انگلیسی زبان، می خواهم به «استفاده از R برای آمار مقدماتی» اثر پروفسور جان ورزانی از دانشگاه سیتی نیویورک و «مقدمه ای بر پروژه R برای محاسبات آماری» اثر پروفسور راسیتر (هلند) از بین المللی اشاره کنم. موسسه ژئوانفورماتیک و رصد زمین.

درس اول به نصب و آموزش استفاده از پکیج، آشنایی با نحو زبان R اختصاص داشت.محاسبه انتگرال ها به روش مونت کارلو به عنوان کار تستی مورد استفاده قرار گرفت. در اینجا مثالی از محاسبه احتمال r.v آورده شده است. با توزیع نمایی با پارامتر 3، مقدار کمتر از 0.5 بگیرید (10000 تعداد تلاش است).
> x=runif(10000,0,0.5)
> y=runif(10000,0,3)
> t=y<3*exp(-3*x)
> u=x[t]
>v=y[t]
> طرح (u,v)
> i=0.5*3*طول(u)/10000

دو خط اول توزیع یکنواخت نقاط را در مستطیل x مشخص می کنند، سپس آن نقاطی که زیر نمودار چگالی نمایی 3*exp(-3*x) قرار می گیرند انتخاب می شوند، تابع نمودار نقاط را در پنجره خروجی گرافیکی نمایش می دهد، و در نهایت انتگرال مورد نیاز محاسبه می شود.
درس دوم به محاسبه آمار توصیفی (چکک، میانه، میانگین، واریانس، همبستگی و کوواریانس) و تولید نمودارها (هیستوگرام، جعبه و سبیل) اختصاص داشت.
در کلاس های بعدی از کتابخانه Rcmdr استفاده شد. این یک رابط کاربری گرافیکی (GUI) برای محیط R است. این کتابخانه با تلاش پروفسور جان فاکس از دانشگاه مک مستر در کانادا ایجاد شده است.

نصب این کتابخانه با اجرای دستور install.packages ("Rcmdr", dependencies=TRUE) در محیط R انجام می شود. اگر خود محیط یک مفسر زبان R باشد، افزونه "Rcmdr" یک پنجره اضافی است. مجهز به یک سیستم منو حاوی تعداد زیادی دستورات مربوط به روش های آماری استاندارد. این به ویژه برای دوره هایی که نکته اصلی این است که به دانش آموز آموزش دهید دکمه ها را فشار دهد راحت است (با تأسف من ، اینها اکنون بیشتر و بیشتر رایج می شوند).

یادداشت های سمینار دوره قبلی من بسط داده شد. آنها همچنین از طریق FTP از سایت isdwiki.rsuh.ru در دسترس هستند. این یادداشت ها حاوی جداولی از مقادیر بحرانی بود که برای محاسبات در هیئت مدیره استفاده می شد. امسال، دانش‌آموزان تشویق شدند تا این مسائل را در رایانه حل کنند و همچنین جداول را با استفاده از تقریب‌های (عادی) ارائه شده در یادداشت‌ها بررسی کنند.

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

لازم به ذکر است که چندین دانشجوی ارشد در کلاس های من شرکت کردند و برخی مطالب را از سخنرانی ها و سمینارها دانلود کردند. دانشجویان گروه سیستم های هوشمند دانشگاه دولتی روسیه برای علوم انسانی آموزش های اساسی در ریاضیات و برنامه نویسی می بینند، بنابراین استفاده از محیط R (به جای صفحات گسترده و بسته های آماری با رویه های آماری ثابت) به نظر من بسیار مفید است.

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

من اخیراً با چنین پدیده ای روبرو شدم - بسیاری از مردم در مورد زبان برنامه نویسی R شنیده اند. اما تعداد کمی از مردم می دانند که چیست.

از آنجایی که من زبان مادری این زبان هستم و به محبوبیت آن علاقه مند هستم، سعی می کنم در این پست کمی به این موضوع بپردازم. جالب خواهد بود!

طرح ساده است:

1) زبان R چیست؟

2) محبوبیت در روسیه

زبان R چیست؟

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

به نظر ما: این زبان برای جستجوی الگوهای بازار ایده آل است. رایگان، سریع و رایگان.

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

این محبوب ترین زبان برنامه نویسی برای معامله گران الگوریتمی در غرب است. این در لبه برش چیزی است که در حال حاضر در یادگیری ماشین و آمار موجود است.

برای نوشتن برنامه ها در R، فقط R-Studio را دانلود کنید و تمام



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

محبوبیت در روسیه

چیزهای زیادی برای دلخواه باقی می گذارد.

اگر در غرب 90٪ از کل تحقیقات با استفاده از این زبان انجام می شود، در روسیه یک هفته نادر در SmartLab می گذرد، که در آن می توانید حداقل یک اشاره به آن پیدا کنید. آن ها تعداد افرادی که R را می دانند بسیار کم است.

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

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

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

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

دوره رایگان من را تماشا کنید تا ببینید کدنویسی چقدر آسان است. روبات بنویس!

آخرین مطالب در بخش:

معلمان آینده در مورد توانایی کار با کودکان امتحان خواهند داد - Rossiyskaya Gazeta برای معلم شدن چه باید کرد
معلمان آینده در مورد توانایی کار با کودکان امتحان خواهند داد - Rossiyskaya Gazeta برای معلم شدن چه باید کرد

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

پیتر اول بزرگ - بیوگرافی، اطلاعات، زندگی شخصی
پیتر اول بزرگ - بیوگرافی، اطلاعات، زندگی شخصی

زندگی نامه پیتر اول در 9 ژوئن 1672 در مسکو آغاز می شود. او کوچکترین پسر تزار الکسی میخایلوویچ از ازدواج دومش با تزارینا ناتالیا بود.

مدرسه فرماندهی عالی نظامی نووسیبیرسک: تخصص ها
مدرسه فرماندهی عالی نظامی نووسیبیرسک: تخصص ها

NOVOSIBIRSK، 5 نوامبر - RIA Novosti، Grigory Kronich. در آستانه روز اطلاعات نظامی، خبرنگاران ریانووستی از تنها مرکز روسیه دیدن کردند...