أريد أن أعرف كل شيء: لغة R. لغة R هي معيار لمعالجة البيانات في تطبيق R

لقد صادفت مؤخرًا مثل هذه الظاهرة - لقد سمع الكثير من الناس عن لغة البرمجة R. لكن قلة قليلة من الناس يعرفون ما هو.

وبما أنني متحدث أصلي لهذه اللغة ومهتم بنشرها، سأحاول تغطية الموضوع قليلاً في هذا المنشور. سيكون مثيرا للإهتمام!

الخطة بسيطة:

1) ما هي لغة R

2) الشعبية في روسيا

ما هي لغة R

R (wiki) هي لغة برمجة لمعالجة البيانات الإحصائية والرسومات، وبيئة حوسبة مجانية مفتوحة المصدر ضمن مشروع GNU.

في رأينا: اللغة مثالية للبحث عن أنماط السوق. مجاني وسريع ومجاني.

فهو يسمح لك بإجراء دراسات إحصائية عن كل ما يمكنك الحصول عليه. على مدار سنوات وجودها، ظهرت العشرات والمئات من الامتدادات لحل أي مشكلة في التطبيق تقريبًا.

هذه هي لغة البرمجة الأكثر شعبية للمتداولين الخوارزميين في الغرب. وهذا هو أحدث ما هو متاح حاليًا في التعلم الآلي والإحصاء.

لكتابة البرامج بلغة R، ما عليك سوى تنزيل R-Studio وهذا كل شيء



منذ بعض الوقت، كجزء من تعميم اللغة، قمت بتسجيل دورة مصغرة "R للجميع". حر. تعرف على مدى سهولة عمل كل ذلك ومدى سرعة كتابة البرامج النصية عليه. هذا ببساطة عظيم!

شعبية في روسيا

يترك الكثير مما هو مرغوب فيه.

إذا تم إجراء 90٪ من جميع الأبحاث في الغرب باستخدام هذه اللغة، فإن أسبوعًا نادرًا يمر في روسيا على SmartLab، حيث يمكنك العثور على ذكر واحد لها على الأقل. أولئك. عدد الأشخاص الذين يعرفون R صغير للغاية.

ومن بين أسباب هذا الوضع: عدم وجود أدلة باللغة الروسية حتى وقت قريب، ونقص الدورات التدريبية، وانخفاض معرفة القراءة والكتابة لدى التجار وأكثر من ذلك بكثير. دعونا لا نتحدث عن هذا.

الشيء الوحيد المهم هو أن شعبية هذه اللغة في روسيا ورابطة الدول المستقلة تتزايد باطراد.

لقد سئم المستخدمون الروس من واجهات برمجة التطبيقات المعطلة وأنظمة التداول باهظة الثمن. سوف تأخذ لغة R المجانية، في سياق التداول، مكانها الصحيح في مجموعة أدواتهم قريبًا. انضم إلينا!

هذا كل شيء لهذا اليوم. آمل أن يكون مثيرا للاهتمام.

شاهد الدورة التدريبية المجانية الخاصة بي لترى مدى سهولة كتابة التعليمات البرمجية. اكتب الروبوتات!

في أغسطس 1993، أعلن اثنان من العلماء النيوزيلنديين الشباب من جامعة أوكلاند عن تطويرهم الجديد، والذي أطلقوا عليه اسم R. وفقًا للمبتكرين، روبرت جنتلمان وروس إهاكا، كان من المفترض أن يكون تطبيقًا جديدًا للغة S، مختلفًا عن لغة S. S-PLUS مع بعض التفاصيل، على سبيل المثال، التعامل مع المتغيرات العالمية والمحلية، وكذلك العمل مع الذاكرة. في الواقع، لم ينشئوا نظيرًا كاملاً لـ S-PLUS، ولكن "فرعًا" جديدًا على "شجرة S". العديد من الأشياء التي تميز R عن S-PLUS ترجع إلى تأثير لغة المخطط (لغة برمجة وظيفية، إحدى لهجات لغة Lisp الأكثر شيوعًا).

بحلول منتصف عام 2016، كانت R قد لحقت بـ SAS وSPSS (المدفوعين) وأصبحت واحدة من الأنظمة الثلاثة الأكثر شيوعًا لمعالجة المعلومات الإحصائية. وتجدر الإشارة أيضًا إلى أن لغة R هي إحدى لغات البرمجة العشر للأغراض العامة.

الاحتمالات

يتم تنفيذ العديد من الأساليب الإحصائية في بيئة R: النماذج الخطية وغير الخطية، واختبار الفرضيات الإحصائية، وتحليل السلاسل الزمنية، والتصنيف، والتجميع، والتصور الرسومي. تتيح لك لغة R تحديد الوظائف الخاصة بك. تتم كتابة العديد من وظائف R في R نفسها. بالنسبة للمشكلات المعقدة حسابيًا، من الممكن تنفيذ وظائف في C وC++ وFortran. يمكن للمستخدمين المتقدمين الوصول مباشرة إلى كائنات R من كود C. R هي لغة موجهة للكائنات أكثر صرامة من معظم لغات الحوسبة الإحصائية. تتيح لك وظائف الرسومات إنشاء رسوم بيانية بجودة طباعة جيدة، مع إمكانية تضمين الرموز الرياضية. لديها تنسيق وثائق خاص بها يشبه LaTeX.

على الرغم من أن لغة R تُستخدم غالبًا في الحوسبة الإحصائية، إلا أنه يمكن استخدامها أيضًا كأداة حوسبة مصفوفية. مثل MATLAB، يتعامل R مع نتيجة أي عملية رقمية كمتجه لطول الوحدة. بشكل عام، لا توجد كميات قياسية في R.

نصوص

إن مجرد فتح جلسة R وإدخال الأوامر في نافذة البرنامج، واحدًا تلو الآخر، هو مجرد إحدى الطرق الممكنة للعمل. الطريقة الأكثر إنتاجية، والتي تعد أيضًا ميزة رئيسية لـ R، هي إنشاء البرامج النصية (البرامج)، والتي يتم تحميلها بعد ذلك إلى R وتفسيرها بواسطتها. منذ بداية عملك، يجب عليك إنشاء نصوص برمجية، حتى للمهام التي تبدو تافهة - وهذا سيوفر الوقت بشكل كبير في المستقبل. يعد إنشاء البرامج النصية لأي سبب وحتى بدون سبب خاص أحد أسس ثقافة العمل في R.

الحزم

ميزة أخرى مهمة لـ R هي توفر العديد من الامتدادات أو الحزم لها. بعض الحزم الأساسيةموجودة مباشرة بعد تثبيت R على الكمبيوتر، وبدونها لا يعمل النظام ببساطة (على سبيل المثال، حزمة تسمى Base، أو حزمة grDevices، التي تتحكم في إخراج الرسوم البيانية)، بالإضافة إلى الحزم "الموصى بها" (حزمة للتحليل العنقودي المتخصص، حزمة لتحليل النماذج غير الخطية nlme وغيرها). بالإضافة إلى ذلك، يمكنك تثبيت أي من الحزم المتوفرة على CRAN والتي يبلغ عددها حوالي ثمانية آلاف (اعتبارًا من منتصف عام 2016). إذا كان لديك إمكانية الوصول إلى الإنترنت، فيمكن القيام بذلك مباشرة من R باستخدام أمر install.packages().

روابط

  • CRAN (شبكة أرشيف R الشاملة) هي نظام تخزين وتوزيع مركزي لـ R وحزمها.

حول الدورة
في هذه الدورة، سننظر إلى لغة R في المقام الأول كلغة برمجة، وليس كأداة لتطبيق خوارزميات محددة. يقدم البرنامج أنواع البيانات الأساسية والقواعد الدلالية العالمية، ويتطرق أيضًا إلى بعض المواضيع المتقدمة المتعلقة بالمشكلات النموذجية التي تواجه معالجة البيانات وتحليلها.

ما هو مطلوب لتمرير
في الواقع، لغة R (الإصدار 3.2.0 أو الأحدث). سيتم استخدام RStudio كبيئة تطوير لدروس الفيديو. ومع ذلك، إذا كنت ترغب في ذلك، يمكنك العمل في أي IDE آخر أو محرر مفضل.

شهادة
درجة النجاح للحصول على الشهادة - 70 نقطة من أصل 100. للحصول على شهادة الشرف - 92 .

لمن هذه الدورة

طلاب البكالوريوس والدراسات العليا والباحثون والمحللون والباحثون العاملون في مجال تحليل البيانات

لا تفترض الدورة معرفة لغة R أو لغات البرمجة الأخرى. ومع ذلك، فإن وجود خبرة في علوم البيانات أو معرفة مبادئ البرمجة الأساسية سيجعل الدروس أسهل. تتوافق هذه الدورة بشكل جيد مع دورة تحليل البيانات في R. هذه الدورات مستقلة ويمكن الالتحاق بها بأي ترتيب.

تستخدم العديد من الأمثلة والمقالات الموجودة على هذا الموقع لغة البرمجة "R" بشكل نشط.

يمكن عادةً تثبيت R لنظام التشغيل Linux باستخدام مستودعات التوزيع الخاصة بك. أستخدم توزيعات مبنية على دبيان، حيث يبدو الأمر القياسي لتثبيت R كما يلي:

Sudo مناسب لتثبيت r-base

تحتاج إلى كتابة هذا في المحطة.

جمال R هو هذا:

  1. هذا البرنامج مجاني (موزع بموجب ترخيص GPL)،
  2. تمت كتابة العديد من الحزم لهذا البرنامج لحل مجموعة واسعة من المشكلات. كل منهم مجاني أيضا.
  3. البرنامج مرن للغاية: يمكن تغيير أحجام أي متجهات ومصفوفات بناءً على طلب المستخدم، ولا تحتوي البيانات على بنية جامدة. تبين أن هذه الخاصية مفيدة للغاية في حالة التنبؤ، عندما يحتاج الباحث إلى تقديم توقعات لفترة تعسفية.

الخاصية الأخيرة ذات أهمية خاصة لأن الحزم الإحصائية الأخرى (مثل SPSS، Eviews، Stata) تفترض أننا قد نكون مهتمين فقط بتحليل البيانات ذات البنية الثابتة (على سبيل المثال، يجب أن تكون جميع البيانات الموجودة في ملف العمل بنفس الدورية بنفس تاريخ البدء والانتهاء).

ومع ذلك، R ليس البرنامج الأكثر ودية. أثناء العمل معه، انسَ أمر الماوس - حيث يتم تنفيذ جميع الإجراءات الأكثر أهمية فيه تقريبًا باستخدام سطر الأوامر. ومع ذلك، من أجل جعل الحياة أسهل قليلاً، والبرنامج نفسه أكثر ترحيباً، يوجد برنامج واجهة أمامية يسمى RStudio. يمكنك تحميل البرنامج من هنا. يتم تثبيته بعد تثبيت R نفسه بالفعل.يحتوي RStudio على العديد من الأدوات الملائمة وواجهة رائعة، ومع ذلك، لا يزال يتم إجراء التحليل والتنبؤ به باستخدام سطر الأوامر.

دعونا نحاول إلقاء نظرة على هذا البرنامج الرائع.

التعرف على RStudio

تبدو واجهة RStudio كما يلي:

في الزاوية اليمنى العليا من RStudio، تتم الإشارة إلى اسم المشروع (والذي لدينا الآن "لا شيء" - أي أنه مفقود). إذا نقرنا على هذا النقش واخترنا "مشروع جديد" (مشروع جديد)، سيُطلب منا إنشاء مشروع. لأغراض التنبؤ الأساسية، ما عليك سوى تحديد "الدليل الجديد" (مجلد جديد للمشروع)، و"مشروع فارغ" (مشروع فارغ)، ثم أدخل اسم المشروع وحدد الدليل الذي تريد حفظه فيه. استخدم خيالك وحاول ابتكار اسم بنفسك :).

عند العمل مع مشروع واحد، يمكنك دائمًا الوصول إلى البيانات والأوامر والبرامج النصية المخزنة فيه.

على الجانب الأيسر من نافذة RStudio توجد وحدة التحكم. هذا هو المكان الذي سندخل فيه الأوامر المختلفة. على سبيل المثال لنكتب ما يلي:

سيقوم هذا الأمر بإنشاء 100 متغير عشوائي من التوزيع الطبيعي بتوقع صفر وتباين الوحدة، ثم إنشاء متجه يسمى "x" وكتابة القيم الـ 100 الناتجة فيه. رمز "<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->"، على الرغم من أن المتغير الخاص بنا في هذه الحالة يجب أن يكون على اليمين. على سبيل المثال، التعليمة البرمجية التالية ستنشئ كائنًا "y" مطابقًا تمامًا للكائن "x":

تظهر هذه المتجهات الآن في الجزء العلوي الأيمن من الشاشة، أسفل علامة التبويب التي حملت عنوان "البيئة":

التغييرات في علامة التبويب "البيئة".

سيعرض هذا الجزء من الشاشة جميع الكائنات التي قمنا بحفظها أثناء الجلسة. على سبيل المثال، إذا قمنا بإنشاء مصفوفة مثل هذا:

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

بهذا الأمر:

ثم سيظهر في علامة التبويب "البيئة":

تتطلب أي وظيفة نستخدمها تعيين بعض القيم لمعلمات معينة. تحتوي الدالة المصفوفة () على المعلمات التالية:

  • البيانات - متجه مع البيانات التي ينبغي كتابتها في المصفوفة،
  • nrow - عدد الصفوف في المصفوفة،
  • ncol - عدد الأعمدة في المصفوفة
  • Byrow - المعلمة المنطقية. إذا كانت الإجابة "صحيح" (صحيح)، فسيتم ملء المصفوفة في صفوف (من اليسار إلى اليمين، صفًا تلو الآخر). افتراضيًا، يتم تعيين هذه المعلمة على FALSE.
  • dimnames - ورقة تحتوي على أسماء الصفوف والأعمدة.

تحتوي بعض هذه المعلمات على قيم افتراضية (على سبيل المثال، byrow=FALSE )، بينما يمكن حذف البعض الآخر (على سبيل المثال، dimnames ).

إحدى حيل "R" هي أنه يمكن الوصول إلى أي دالة (على سبيل المثال، مصفوفتنا() ) عن طريق تحديد القيم مباشرة:

أو يمكنك القيام بذلك بالطريقة التي فعلناها سابقًا - مراقبة التسلسل وحذف أسماء المعلمات.

من أجل رؤية محتويات أي كائن موجود في علامة التبويب "البيئة"، ما عليك سوى طباعة اسمه في وحدة التحكم:

خيار آخر هو النقر على اسم الكائن في علامة التبويب "البيئة".

حيث المصفوفة هي اسم الدالة التي نهتم بها. في هذه الحالة، سيفتح RStudio لوحة "المساعدة" خصيصًا لك مع وصف:

يمكنك أيضًا العثور على مساعدة بشأن إحدى الوظائف عن طريق كتابة اسم الوظيفة في نافذة "البحث" (أيقونة بها عدسة) في علامة التبويب "تعليمات".

إذا كنت لا تتذكر بالضبط كيفية كتابة اسم الوظيفة أو المعلمات المستخدمة فيها، فما عليك سوى البدء في كتابة اسمها في وحدة التحكم والضغط على الزر "Tab":

بالإضافة إلى كل هذا، يمكنك كتابة البرامج النصية في RStudio. قد تحتاج إليها إذا كنت بحاجة إلى كتابة برنامج أو استدعاء سلسلة من الوظائف. يتم إنشاء البرامج النصية باستخدام الزر الذي يحمل علامة الجمع في الزاوية اليسرى العليا (تحتاج إلى تحديد "R Script" في القائمة المنسدلة). في النافذة التي تفتح بعد ذلك، يمكنك كتابة أي وظائف وتعليقات. على سبيل المثال، إذا أردنا رسم رسم بياني خطي على السلسلة x، فيمكننا القيام بذلك على النحو التالي:

قطعة أرض(x) خطوط(x)

تقوم الوظيفة الأولى بإنشاء مخطط مبعثر بسيط، وتقوم الوظيفة الثانية بإضافة خطوط أعلى النقاط التي تربط النقاط المتسلسلة. إذا حددت هذين الأمرين واضغطت على "Ctrl+Enter"، فسيتم تنفيذهما، مما يجعل RStudio يفتح علامة التبويب "Plot" في الزاوية اليمنى السفلية ويعرض المخطط المرسوم فيه.

إذا كنا لا نزال بحاجة إلى جميع الأوامر المكتوبة في المستقبل، فيمكن حفظ هذا البرنامج النصي (قرص مرن في الزاوية اليسرى العليا).

إذا كنت بحاجة إلى الرجوع إلى أمر قمت بكتابته بالفعل في وقت ما في الماضي، فهناك علامة تبويب "السجل" في أعلى يمين الشاشة. يمكنك فيه العثور على أي أمر يهمك وتحديده ثم النقر نقرًا مزدوجًا للصقه في وحدة التحكم. في وحدة التحكم نفسها، يمكنك الوصول إلى الأوامر السابقة باستخدام الزرين لأعلى ولأسفل على لوحة المفاتيح. تتيح لك مجموعة المفاتيح "Ctrl+Up" عرض قائمة بجميع الأوامر الحديثة في وحدة التحكم.

بشكل عام، يحتوي RStudio على الكثير من اختصارات لوحة المفاتيح المفيدة التي تجعل العمل مع البرنامج أسهل بكثير. يمكنك قراءة المزيد عنها.

كما ذكرت سابقًا، هناك العديد من الحزم لـ R. جميعها موجودة على خادم CRAN ولتثبيت أي منها تحتاج إلى معرفة اسمه. يتم تثبيت الحزم وتحديثها باستخدام علامة التبويب "الحزم". وبالذهاب إليه والنقر على زر "تثبيت"، سنرى ما يشبه القائمة التالية:

دعنا نكتب في النافذة التي تفتح: التنبؤ عبارة عن حزمة كتبها Rob J. Hyndman، تحتوي على مجموعة من الوظائف المفيدة لنا. انقر فوق الزر "تثبيت"، وبعد ذلك سيتم تثبيت حزمة "التوقعات".

بدلًا من ذلك، يمكننا تثبيت أي حزمة، مع معرفة اسمها، باستخدام الأمر الموجود في وحدة التحكم:

تثبيت.حزم("السلس")

بشرط أن يكون بالطبع موجودًا في مستودع CRAN. السلس عبارة عن حزمة أقوم بتطوير وظائفها والحفاظ عليها.

تتوفر بعض الحزم فقط في التعليمات البرمجية المصدر على مواقع مثل github.com وتتطلب أن يتم إنشاؤها أولاً. لإنشاء حزم ضمن نظام Windows، قد تحتاج إلى برنامج Rtools.

لاستخدام أي من الحزم المثبتة، تحتاج إلى تمكينها. للقيام بذلك، تحتاج إلى العثور عليه في القائمة ووضع علامة عليه، أو استخدام الأمر الموجود في وحدة التحكم:

المكتبة (التوقعات)

قد تظهر مشكلة واحدة غير سارة في نظام التشغيل Windows: يتم تنزيل بعض الحزم وتجميعها بسهولة، ولكن لا يتم تثبيتها بأي شكل من الأشكال. يكتب R في هذه الحالة شيئًا مثل: "تحذير: غير قادر على نقل التثبيت المؤقت...". كل ما عليك فعله في هذه الحالة هو إضافة المجلد الذي يحتوي على R إلى الاستثناءات في برنامج مكافحة الفيروسات لديك (أو إيقاف تشغيله أثناء تثبيت الحزم).

بعد تنزيل الحزمة، ستكون جميع الوظائف المضمنة فيها متاحة لنا. على سبيل المثال، الدالة tsdisplay()، والتي يمكن استخدامها على النحو التالي:

تسديسبلاي (خ)

ستقوم ببناء ثلاثة رسوم بيانية، والتي سنناقشها في الفصل "مجموعة أدوات المتنبئ".

بالإضافة إلى حزمة التوقعات، غالبًا ما أستخدم حزمة Mcomp للحصول على أمثلة مختلفة. أنه يحتوي على سلسلة بيانات من قاعدة بيانات M-Competition. لذلك أنصحك بتثبيته أيضًا.

في كثير من الأحيان، لن نحتاج إلى مجموعات البيانات فحسب، بل نحتاج أيضًا إلى بيانات من فئة "ts" (السلاسل الزمنية). لإنشاء سلسلة زمنية من أي متغير، تحتاج إلى تشغيل الأمر التالي:

هنا تسمح لنا معلمة البداية بتحديد التاريخ الذي تبدأ منه السلسلة الزمنية لدينا، ويحدد التردد تكرار البيانات. يشير الرقم 12 في مثالنا إلى أننا نتعامل مع بيانات شهرية. ونتيجة لتنفيذ هذا الأمر، نقوم بتحويل المتجه "x" الخاص بنا إلى سلسلة زمنية من البيانات الشهرية بدءًا من يناير 1984.

هذه هي العناصر الأساسية لـ R وRStudio التي سنحتاجها.

P.S. تم نشر دليل جيد إلى حد ما لـ R على موقع QSAR4U بواسطة Pavel Polishchuk.

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, base=2) c(1:3) c(1:5)*2 + 4 x

]. "البروليتاري من العمل العقلي." فيزيائي عن طريق التعليم. أعمل في مجال معالجة المعلومات الطبية والبيولوجية منذ أكثر من 30 عامًا.
لقد عملت في لغة R لمدة 10 سنوات بالضبط، بعد أن انتقلت إليها بعد 15 عامًا من التعاون الوثيق مع Matlab. كان السبب الرئيسي للانتقال إلى منصة عمل أخرى هو هجرتي الفعلية إلى الطرف الآخر من الأرض إلى أوكلاند، نيوزيلندا. هنا دفعتني الحياة منذ الأيام الأولى إلى أحضان R، وهو الأمر الذي لم أندم عليه بعد.

في كثير من الأحيان أرى تفشي الاهتمام بـ R في الشبكة المهنية. حسنًا، تظهر مقالات عنه على هذا المورد المحترم. أسفل المقطع، توجد محاولتي الأولى لتقديم مقدمة باللغة الروسية لـ R - الجزء الأول (اللفظي) من العرض التقديمي الذي قمت به لزملائي من كلية علوم الحيوان بجامعة ولاية إيوفا قبل ثلاث سنوات.
(إلى الجانب:لكن اتضح أنه من الصعب أن تترجم نفسك...)


في هذا المنصب

  • ما هو ر
  • من اين أتى
  • لماذا أحبه
  • الخرافات والحقيقة

ماذا حدث ر

أولاً رهو نظام للحسابات الإحصائية والعلمية الأخرى باستخدام لغة البرمجة س .

س- اللغة المكتوبة من قبل الإحصائيين للإحصائيين.كما حددها المؤلف جون تشامبرز. لقد لقيت اللغة استحسانًا كبيرًا منذ طرحها وتم اختبارها من قبل أجيال من المستخدمين الإحصائيين شديدي الحساسية. ويمكن اعتبار أنها معروفة ومقبولة على نطاق واسع في المجتمع الإحصائي العالمي. على اللسان سوقد تم تنفيذ عدد من النماذج الوبائية والبيئية والمالية الهامة، ولا تزال قيد التشغيل في جميع أنحاء العالم وفي العديد من الصناعات. كيف هي اللغة من وجهة نظري، "كمستخدم للكتابة"، سهو بديل لطيف للغاية للغة ساس .

من تجربتي الخاصة - المقدمة والدروس الأولى سلقد تلقيتها بنفسي في أوائل التسعينيات من خبراء إحصائيين في منظمة الصحة العالمية الذين التقيت بهم في البحث العلمي في ذلك الوقت.

وفقًا للعديد من التقديرات، يعد R (بالنسبة لي وليس مبالغًا فيه كثيرًا) أحد أكثر المشاريع مفتوحة المصدر نجاحًا، ويتم توزيعه مجانًا من عشرات المرايا حول العالم وفقًا لمعايير ترخيص GNU.
يرفض المؤلفون بشكل قاطع جميع المقترحات الخاصة بتسويق المشروع، على الرغم من وجود سبب اليوم لافتراض أن عدد النسخ المثبتة من R في العالم يتجاوز إجمالي عدد النسخ الجميعأنظمة التحليل الإحصائي الأخرى.

منذ البداية وحتى يومنا هذا، يثير المشروع في داخلي أعمق الاحترام (على وشك الإعجاب) للاستقرار، ودعم المستخدم، وتوافق التعليمات البرمجية، وما إلى ذلك، وهو ما سأدمجه في المفهوم ثقافة.
ومع ذلك، فإن الجملة الأخيرة مخصصة للأقسام الفرعية اللاحقة.

من أين أتى؟ سوما علاقة هذا بـ ر

مما لا شك فيه أن ويكيبيديا ستمنحك المزيد من الرسائل.
سأشير فقط إلى ما أعتبره مهمًا لفهم مكانة S وR في هذه الحياة في هذا العالم.

تشتهر مختبرات Bell (المعروفة أيضًا باسم Bell Labs، وAT&T Bell Labaratories) في تاريخ العلوم والتكنولوجيا، وعلى وجه الخصوص تكنولوجيا المعلومات. تم دائمًا إجراء البحث الإحصائي على محمل الجد وتم دعمه بشكل جدي من خلال جميع أدوات الكمبيوتر المتاحة (اقرأ - الكثير من أكواد Fortran و Lisp).

ما أصبح فيما بعد لغة S نشأ في السبعينيات، بمبادرة وتوجيه من جون تشامبرز، كمجموعة من النصوص التي سهلت "تغذية" البيانات إلى كود فورتران. أولئك. كان التركيز الرئيسي على مهمة معالجة البيانات التفاعلية، والاكتناز، وسهولة الكتابة وسهولة قراءة التعليمات البرمجية والحصول على مخرجات لائقة على مجموعة متنوعة من الأجهزة والجداول والرسوم البيانية.

يوفر بناء جملة اللغة بناء هياكل بيانات معقدة بشكل تعسفي وأدوات لوصف مهام وكائنات إحصائية محددة - الإحصائيات. الاختبارات والنماذج وما إلى ذلك.

منذ عام 1984، اكتسبت اللغة اسمًا، "الكتاب المقدس" الخاص بها (تم نشر كتاب من تأليف تشامبرز وبيكرز: S: بيئة تفاعلية لتحليل البيانات والرسومات)، بدأت تحتوي افتراضيًا على "مجموعة نبيلة" كاملة تقريبًا من الإحصائيات و"العلماء الاحتماليين" - التوزيعات، ومولدات الأرقام العشوائية، والاختبارات الإحصائية، والعديد من التحليلات الإحصائية القياسية، والعمل مع المصفوفات، وما إلى ذلك، ناهيك عن نظام متطور من الرسومات العلمية. والأهم أنه أصبح متاحًا للمستخدمين حول العالم بسعر معقول جدًا.

وفي عام 1988 (نشر كتاب آخر لغة S الجديدة) - تم تعديله باستخدام OOP، وأصبح كل شيء كائنات ذات قيم افتراضية معقولة جدًا، وإمكانية الوصول للتعديل، وعناصر التوثيق الذاتي، وما إلى ذلك، وما إلى ذلك.

وفي الوقت نفسه، نشرت المختبرات الكود المصدري و"Bell Lab" سأصبحت مجانية للطلاب وللاستخدام العلمي. كان كل هذا مرتبطًا بطريقة أو بأخرى بـ "إزالة الخلايا" من AT&T، لكنني لم أعد مهتمًا جدًا بهذه التفاصيل.

كانت هناك، وربما لا تزال، تطبيقات تجارية للغة س. جئت عبر اس بلسو S2000. لقد تم دعمهم من قبل شركات مختلفة في أوقات مختلفة، بشكل رئيسي (المعيشة؟) بسبب دعم تم إنشاؤه مسبقًا سالتطبيقات. في هذه الإصدارات ما بعد الجرس سظهرت نسخة جديدة من محرك OOP، ولكن بالنسبة للمستخدم النقي، كان غير دموي تقريبًا من حيث توافق الكود التاريخي.

ر- التطبيق الوحيد غير التجاري والمستقل تمامًا (عن تطبيق Bell الأصلي) للغة س.

وفي اتفاق نادر هذه الأيام، بطريقة لا يمكن تصورها بالنسبة لي، مطوري الإصدارات الحالية من الإعلان التجاري سوغير ربحية ردعم توافقها واستمراريتها شبه الكاملة.

والآن ر

وراء أي ظاهرة مهمة في هذه الحياة هناك نوع من الشخصية الكاريزمية. إلا أن هذا يمكن أن يحدث وهذا هو تعريف أهمية الظاهرة.

في حالة R، هناك ثلاثة أشخاص من هذا القبيل.
لقد ذكرت بالفعل جون تشامبرز.

اختار روس ايهكا، الطالب ثم الباحث في قسم الإحصاء بجامعة أوكلاند، موضوع رسالته (التي تم تنفيذها في معهد ماساتشوستس للتكنولوجيا في الولايات المتحدة الأمريكية) لدراسة إمكانية بناء آلة افتراضية (VM) للإحصاء لغات البرمجة. وكانت اللغة الوسيطة المختارة اللثغة (اللثغة المشتركة، CL) وتقوم بتنفيذ نموذج أولي لجهاز افتراضي "يفهم" مجموعات فرعية صغيرة من ساسو س.
عاد روس إلى أوكلاند لإكمال أطروحته، حيث التقى قريبًا بروبرت جنتلمان وأصبح مهتمًا بمشروع R.
لم يدافع روس أبدًا عن أطروحته، لكنه حصل بالفعل على شهادة أكاديمية من عدة جامعات "على أساس الجدارة المشتركة". حصل العام الماضي على اللقب وحصل على منصب أستاذ مشارك (أستاذ مساعد) في جامعته الأم.

اقترح روبرت جنتلمان، وهو إحصائي آخر شغوف بالبرمجة، وهو في الأصل من كندا، أثناء فترة تدريبه في جامعة أوكلاند (كان يعمل آنذاك في أستراليا)، أن "يكتب روس بعض اللغات".
وفقًا للأسطورة التي سمعتها بنفسي من هؤلاء "الآباء المؤسسين"، في غضون شهر تقريبًا، أعادوا الكتابة، في نوبة من الحماس المجنون سي.إل.جميع الفرق تقريبا س، بما في ذلك مكتبة النمذجة الخطية القوية.

محرك الحوسبة ر، وفقًا لتقاليد النموذج الأولي، تم اختيار مكتبة BLAS المشهورة والمقبولة عمومًا والمجانية (مع القدرة على استخدام ATLAS، وما إلى ذلك بنفس الواجهة).
بول موريل، أحد أقرب أصدقاء روس وموظف أيضًا في جامعة أوكلاند، بذل قصارى جهده وكتب (في لغة C، على ما يبدو) محرك رسومات من الصفر يعيد إنتاج وظيفة ذلك المحرك بالكامل في لغة C س.

وكانت النتيجة حزمة مجانية كاملة الوظائف اكتسبت على الفور مكانًا في العملية التعليمية في جامعة أوكلاند، وكانت متوافقة تمامًا مع الأوصاف الواردة في كتب تشامبرز المفصلة للغاية وعالية الجودة، والتي كانت تُنشر تقليديًا في كتب ذات غلاف ورقي وبجودة طباعة متوسطة، ولكن كانت رخيصة ويمكن الوصول إليها.
العديد من المجموعات الناشطة في حركة GNU (مثل GIS) اعتمدت R كمنصة للحوسبة العلمية.

ولكن حقا الشهرة الأوسع رتم الحصول عليها في مجال المعلوماتية الحيوية عندما قام أحد "الآباء" روبرت جنتلمان، الذي كان مشاركًا في ذلك الوقت في عمل شركة Affimmetrix، بتكرار جميع وظائف البرامج التجارية للشركة وأطلق (حسنًا، أكثر من واحد، بالطبع) البرنامج المفتوح مصدر المشروع موصل حيوي. حالياً موصل حيويهي الشركة الرائدة بلا منازع في مجال المعلوماتية الحيوية المفتوحة المصدر لجميع "علم الجينوم" (علم الجينوم، وعلم البروتينات، وعلم التمثيل الغذائي، وما إلى ذلك).

وبطبيعة الحال، أصبحت لغة الواجهة الوحيدة لهذه الشغب من خيالات المعلوماتية الحيوية ر.

وقد اكتملت الدائرة عندما تقاعد تشامبرز مبتكر اللغة س، أصبح عضوًا كامل العضوية في مجموعة المطورين النشطين ر.

لماذا أحبه (القائمة)

  1. التفاعلية، "البرمجة باستخدام البيانات" - أسلوب العمل المفضل لدي
  2. لغة أنيقة (للهواة) - أحب القوائم وإطارات البيانات والبرمجة الوظيفية ووظائف لامدا (a-la) حرية التعبير: يمكن حل نفس المشكلة بعشر طرق (يخفف من الشعور بالروتين)
  3. "ينظر إلى هذا العالم برصانة" - نادرًا ما "يتعطل" أو "يعلق" أي شخص، وعمليات منطقية مع البيانات المفقودة، ومعالجة الأخطاء في وقت التشغيل (محاولة الخطأ)، والتبادل السهل مع النظام على مستوى الإدخال / الإخراج القياسي، وما إلى ذلك.
  4. مجموعة كاملة من الإجراءات الإحصائية الجاهزة للاستخدام
  5. موثق جيدًا وصيانته جيدًا - التوافق، والاستمرارية، وما إلى ذلك.
  6. تجمع حولي مجتمع مهني لطيف إنسانيًا (منتديات، مؤتمرات مستخدمين، إلخ.)
  7. واجهة موثقة جيدًا للمكتبات الخارجية والوظائف المتعلقة بأي شيء - Fortran، وC، وJava. ومن ثم هناك بحر من المكتبات الموثقة جيدًا في جميع جوانب الإحصاء وعلوم البيانات في كل مجال من مجالات العلوم تقريبًا، ولكن مع التركيز بشكل أساسي على المعلوماتية الحيوية/الإحصاء الحيوي؛ يتم تحديث كل شيء بانتظام وبشكل صحيح، إذا كانت هناك إرادة المؤلف لذلك
  8. عدم وجود واجهة مستخدم رسومية إلزامية في "التكوين الأساسي" - حسنًا، أنا لست شخصًا "فأرًا"!
خارج القائمة: أنا سعيد لأن أداة العمل الرئيسية الخاصة بي لديها... روح.
وهذا ما أحاول فعلاً إظهاره في مقالتي.

لماذا وكيف أستخدمه (أمثلة)

بدأت الكتابة في هذا القسم، ولكن توقفت.
وإلا لما انتهيت أبدًا.
أوه، ربما في وقت لاحق.

الخرافات والحقيقة

ر بطيئة
لغة R "رفيعة"، وتستخدم مكتبات blas/lapack/atlas لإجراء العمليات الحسابية، حاول كتابة شيء أسرع من "أدوات العمل" القديمة الجيدة في لغة Fortran (غالبًا). تستخدم جميع الوظائف الحاسمة، كقاعدة عامة، عمليات المتجهات ويتم تنفيذها في مع.
يستخدم R موارد الحوسبة بشكل غير عقلاني، وخاصة الذاكرة
نعم، المطورين يعترفون بهذه الخطيئة. لكن وقت عمل المتخصص أصبح الآن أكثر تكلفة بكثير من تكلفة الأجهزة. قم بتفريغ الألعاب من جهاز كمبيوتر حديث ولن تواجه أي مشاكل مع R مع معظم مجموعات البيانات الحقيقية.
قد لا تكون البرامج المجانية موثوقة
ربما: فورتران، لينكس، سي، ليسب، جافاإلخ.
بدلا من الخاتمة
كما هو مذكور أعلاه، فإن المنشور أدناه هو في الواقع ترجمة لعرضي لجمهور مستهدف محدد إلى حد ما، وسأصف هذا الجمهور بإيجاز.

سيتعين على العديد من شركات تكنولوجيا المعلومات "النظيفة" مقابلة هؤلاء الأشخاص، لأن إنتاج الغذاء يتنافس منذ فترة طويلة مع النفط وموارد الطاقة الأخرى لجذب رأس المال وتحقيق الأرباح. كما أن قدرة سوق المعلوماتية الحيوية في الطب والصيدلة محدودة، بغض النظر عن كيفية النظر إليها.

لذا فإن جمهوري يتألف من أشخاص حصلوا على تعليم أساسي في علم الوراثة والتربية، والطب البيطري، وفي كثير من الأحيان علم الأحياء (الجزيئي في الأساس). الرجال والعمات (المزيد من الأخير)، 20-30 سنة... البرمجة (!) قيد التشغيل فورترانأو VB، المشهورون بإدارة جداول Excel التي تحتوي على 100 ألف صف/عمود و"إسقاط" مهامهم (وبرمجتهم) بشكل دوري على مجموعة Linux الخاصة بهم التي تزيد عن 500 مجموعة أساسية مع 12 تيرابايت من الذاكرة المشتركة ومن وقت لآخر يتطلب توسيع ذاكرة القرص بواسطة أخرى عشرة تيرابايت.

القاعدة المنهجية عبارة عن مزيج متفجر من تحليلات التباين القديمة قدم العالم مع نماذج مختلطة لا يتم حلها بأي طريقة أخرى سوى طريقة الاحتمالية القصوى، وشبكات بايزي "المذيبة للدماغ"، وما إلى ذلك.

البيانات - جداول البيانات من الوحدات إلى عشرات الآلاف من الصفوف، بما في ذلك في بعض الأحيان 1-5 أعمدة ذات أنماط ظاهرية، ولكن في كثير من الأحيان - عشرات أو مئات من أعمدة "Ka" من المتغيرات التي ترتبط بشكل ضعيف مع بعضها البعض ومع الأنماط الظاهرية.

حسنًا، نعم، لديهم أيضًا "تقليد جيد" في النظر إلى كل شيء من حيث الروابط الأسرية (علم الوراثة، بعد كل شيء). يتم تقديم روابط القرابة تقليديًا في شكل مصفوفة "روابط القرابة" (النسب) بأبعاد، على سبيل المثال، 40.000 × 40.000 (هذا إذا كان هناك 40.000 حيوان). حسنًا ، أو (في الوقت الحالي، لحسن الحظ، فقط في المشروع) 20.000.000 × 20.000.000 - هذا "لتغطية" جميع الحيوانات التاريخية البالغ عددها 20 مليونًا المتوفرة في قاعدة البيانات بنموذج واحد ( DB2، إذا كان أي شخص مهتمًا، وحتى كوبول لم يتم "قطعه" من كل مكان بعد ...)

على طاولات مليئة بالأدب (في نفس الوقت) فورتران، جافا، C #، سكالا، أوكتافيا، لينكس للدمىيمكنك التعرف على خريجي المعلوماتية الحيوية الجدد. ولكن بطريقة ما، سرعان ما يترك الكثير منهم العلوم ليصبحوا "مبرمجين".

ومع ذلك، فأنا أعرف أيضًا حالة من الحركة العكسية. لذا ر سيكون مفيدًا للكثيرين.

2023 asm59.ru
الحمل والولادة. البيت و العائلة. الترفيه والتسلية