يفتح
يغلق

لغة R لمساعدة الإحصائي الهبرة. ما هي حزمة R: دليل التعليمات ما هي حزمة R

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

جمال R هو هذا:

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

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

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

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

التعرف على RStudio

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

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

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

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

س< - rnorm (100 , 0 , 1 )

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

س -> ص

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

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

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

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

بهذا الأمر:

أ< - matrix (c (1 , 0 , 1 , 1 ) , 2 , 2 )

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

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

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

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

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

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

مصفوفة

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

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

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

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

مؤامرة (خ)

خطوط (خ)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

س< - ts (x , start = c (1984 , 1 ) , frequency = 12 )

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

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

دون الدخول في القواعد وبناء الجملة والاستخدامات المحددة، دعنا نلقي نظرة على الكتب والموارد الأساسية التي ستساعدك على تعلم لغة R من الصفر.

ما هي لغة R، لماذا تحتاج إليها وكيف يمكنك استخدامها بحكمة، يمكنك أن تتعلم من رسلان كوبتسوف الرائع، الذي أجراه قبل أقل من عام بقليل كجزء من GeekWeek-2015.

كتب

الآن بعد أن أصبح هناك ترتيب معين في رأسك، يمكنك البدء في قراءة الأدب، ولحسن الحظ، هناك ما يكفي منه. لنبدأ مع المؤلفين المحليين:


موارد الإنترنت

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

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

في غضون ذلك، دعونا نكمل الصورة بقائمة صغيرة من المواقع الناطقة باللغة الإنجليزية، ولكنها ليست أقل تعليمية:

يعد CRAN في الواقع مكانًا يمكنك من خلاله تنزيل بيئة تطوير R على جهاز الكمبيوتر الخاص بك، بالإضافة إلى الأدلة والأمثلة والقراءة المفيدة الأخرى؛

Quick-R - بإيجاز ووضوح حول الإحصائيات وطرق معالجتها ولغة R؛

Burns-Stat - حول R وسلفه S مع عدد كبير من الأمثلة؛

R for Data Science هو كتاب آخر من تأليف Garrett Grolemund، تمت ترجمته إلى تنسيق كتاب مدرسي عبر الإنترنت؛

Awesome R - مجموعة مختارة من أفضل الأكواد البرمجية من الموقع الرسمي، المنشورة على موقع GitHub المحبوب لدينا؛

مران - لغة R من مايكروسوفت؛

Tutorial R هو مصدر آخر يحتوي على معلومات منظمة من الموقع الرسمي.

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

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

لذلك بعد قراءة هذا الموضوع ستتعلم:

  • كيف يمكنك استخدام R لاستخراج البيانات من موارد الويب؟
  • كيفية تحويل البيانات لتحليلها لاحقا
  • ما هي الموارد التي يوصى بشدة بقراءتها لأي شخص يريد التعرف على لغة R بشكل أفضل؟

من المتوقع أن يكون القارئ مستقلاً بدرجة كافية ليتعرف على الإنشاءات الأساسية للغة. الروابط الموجودة في نهاية المقالة هي الأنسب لهذا الغرض.

تحضير

سنحتاج إلى الموارد التالية:

بعد التثبيت يجب أن ترى شيئا مثل هذا:

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

  • Rcurl - للعمل مع الشبكة. أي شخص عمل مع CURL سوف يفهم على الفور جميع الفرص المتاحة.
  • XML - حزمة للعمل مع شجرة DOM لمستند XML. نحن بحاجة إلى وظيفة للعثور على العناصر بواسطة xpath
انقر فوق "تثبيت الحزم"، وحدد الحزم التي تحتاجها، ثم حددها بعلامة اختيار حتى يتم تحميلها في البيئة الحالية.

الحصول على البيانات

للحصول على كائن DOM لمستند تم استلامه من الإنترنت، ما عليك سوى اتباع هذه السطور:
عنوان URL<-"http://habrahabr.ru/feed/posts/habred/page10/" cookie<-"Мои сверхсекретные печеньки" html<-getURL(url, cookie=cookie) doc<-htmlParse(html)
يرجى الانتباه إلى ملفات تعريف الارتباط التي يتم إرسالها. إذا كنت تريد تكرار التجربة، فسوف تحتاج إلى استبدال ملفات تعريف الارتباط الخاصة بك، والتي يتلقاها متصفحك بعد تسجيل الدخول إلى الموقع. بعد ذلك، نحتاج إلى الحصول على البيانات التي تهمنا، وهي:
  • عندما تم نشر هذا المنصب
  • كم عدد المشاهدات كانت هناك؟
  • كم عدد الأشخاص الذين أضافوا هذا الإدخال إلى مفضلتهم؟
  • عدد النقرات على +1 و-1 (الإجمالي)
  • كم عدد نقرات 1+ التي تمت؟
  • كم -1
  • التصويت الحالي
  • عدد التعليقات
وبدون الخوض في الكثير من التفاصيل، سأعطيك الكود:
نشرت<-xpathSApply(doc, "//div[@class="published"]", xmlValue) pageviews<-xpathSApply(doc, "//div[@class="pageviews"]", xmlValue) favs<-xpathSApply(doc, "//div[@class="favs_count"]", xmlValue) scoredetailes<-xpathSApply(doc, "//span[@class="score"]", xmlGetAttr, "title") scores<-xpathSApply(doc, "//span[@class="score"]", xmlValue) comments<-xpathSApply(doc, "//span[@class="all"]", xmlValue) hrefs<-xpathSApply(doc, "//a[@class="post_title"]", xmlGetAttr, "href")
استخدمنا هنا بحث xpath عن العناصر والسمات.
بعد ذلك، يوصى بشدة بإنشاء إطار بيانات من البيانات المستلمة - وهو نظير لجداول قاعدة البيانات. سيكون من الممكن تقديم طلبات بمستويات مختلفة من التعقيد. في بعض الأحيان تندهش من مدى روعة القيام بهذا الشيء أو ذاك في R.
دعامات<-data.frame(hrefs, published, scoredetailes, scores, pageviews, favs, comments)
بعد إنشاء data.frame، ستحتاج إلى تصحيح البيانات المستلمة: تحويل الأسطر إلى أرقام، والحصول على التاريخ الحقيقي بتنسيق عادي، وما إلى ذلك. نحن نفعل ذلك بهذه الطريقة:

المشاركات $التعليقات<-as.numeric(as.character(posts$comments)) posts$scores<-as.numeric(as.character(posts$scores)) posts$favs<-as.numeric(as.character(posts$favs)) posts$pageviews<-as.numeric(as.character(posts$pageviews)) posts$published<-sub(" декабря в ","/12/2012 ",as.character(posts$published)) posts$published<-sub(" ноября в ","/11/2012 ",posts$published) posts$published<-sub(" октября в ","/10/2012 ",posts$published) posts$published<-sub(" сентября в ","/09/2012 ",posts$published) posts$published<-sub("^ ","",posts$published) posts$publishedDate<-as.Date(posts$published, format="%d/%m/%Y %H:%M")

من المفيد أيضًا إضافة حقول إضافية يتم حسابها من تلك التي تم تلقيها بالفعل:
نتائج مقسمة<-sapply(strsplit(as.character(posts$scoredetailes), "\\D+", perl=TRUE),unlist) if(class(scoressplitted)=="matrix" && dim(scoressplitted)==4) { scoressplitted<-t(scoressplitted) posts$actions<-as.numeric(as.character(scoressplitted[,1])) posts$plusactions<-as.numeric(as.character(scoressplitted[,2])) posts$minusactions<-as.numeric(as.character(scoressplitted[,3])) } posts$weekDay<-format(posts$publishedDate, "%A")
لقد قمنا هنا بتحويل الرسائل المعروفة من النموذج "إجمالي 35: 29 و↓6" إلى مجموعة من البيانات حول عدد الإجراءات التي تم تنفيذها، وعدد الإيجابيات وعدد السلبيات.

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

لكن القارئ اليقظ قد لاحظ بالفعل أننا بهذه الطريقة تلقينا بيانات لصفحة واحدة فقط للحصول عليها لسلسلة كاملة. للحصول على بيانات لقائمة كاملة من الصفحات، تم كتابة الوظيفة التالية:

GetPostsForPages<-function(pages, cookie, sleep=0) { urls<-paste("http://habrahabr.ru/feed/posts/habred/page", pages, "/", sep="") ret<-data.frame() for(url in urls) { ret<-rbind(ret, getPosts(url, cookie)) Sys.sleep(sleep) } return(ret) }
هنا نستخدم وظيفة النظام Sys.sleep حتى لا نتسبب بطريق الخطأ في تأثير الهبر على الهبر نفسه :)
يُقترح استخدام هذه الوظيفة على النحو التالي:
دعامات<-getPostsForPages(10:100, cookie,5)
وبذلك نقوم بتحميل جميع الصفحات من 10 إلى 100 مع توقف لمدة 5 ثواني. نحن لسنا مهتمين بالصفحات التي يصل عددها إلى 10 صفحات، نظرًا لأن التقييمات لم تظهر هناك بعد. بعد بضع دقائق من الانتظار، أصبحت جميع بياناتنا في متغير المنشورات. أوصي بحفظها على الفور حتى لا تزعج المركز في كل مرة! ويتم ذلك بهذه الطريقة:
write.csv(المشاركات، الملف = "posts.csv")
ونقرأها كما يلي:
دعامات<-read.csv("posts.csv")

مرحا! لقد تعلمنا كيفية تلقي البيانات الإحصائية من حبر وحفظها محليًا للتحليل التالي!

تحليل البيانات

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

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


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

موارد مفيدة

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

البرمجة على مستوى R. المستوى 1. الأساسيات

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

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

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

بعد الدورة يتم إصدار شهادة التدريب المتقدم للمركز.

ما هي حزمة R؟

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

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

كيفية تثبيت وتحميل حزمة في R؟

هناك عدة طرق لتثبيت حزمة R. لنبدأ بالحالة الأكثر شيوعًا: تثبيت حزمة من CRAN. للقيام بذلك، ما عليك سوى إدخال وظيفة install.packages في وحدة التحكم، وفي الوسائط، اكتب اسم الحزمة التي تبحث عنها (على سبيل المثال، خذ حزمة ggplot2):

install.packages("ggplot2")

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

بعد تثبيت الحزمة، تحتاج إلى تحميلها في جلستك الحالية باستخدام وظيفة Library():

مكتبة ("ggplot2")

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

تثبيت حزمة R عبر GitHub

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

مكتبة install.packages("devtools")("devtools") install_github("المؤلف/اسم الحزمة")

تثبيت حزمة R يدويًا (tar.gz أو zip archive)

توجد بعض الحزم على منصات أخرى (على سبيل المثال، ResearchGate)، أو على مواقع المجموعات البحثية، أو على الموقع الإلكتروني الشخصي للمطور، حيث يمكنك تنزيل حزمة R على جهاز الكمبيوتر الخاص بك كأرشيف بامتداد .tar.gz أو . امتداد الرمز البريدي. في هذه الحالة، يجب عليك تنزيل الحزمة يدويًا باستخدام نفس الأمر install.packages(). ومع ذلك، في الوسيطة الأولى للوظيفة، يجب عليك تحديد ليس اسم الحزمة، ولكن عنوان الأرشيف الذي تم تنزيله، وكذلك إدخال وسائط إضافية:

install.packages ("Desktop/PackageName.tar.gz"، repos = NULL، type = "source")

قراءة الوثائق هي مفتاح العمل مع حزم R!

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

دليل مرجعي ( الدليل المرجعي)، على العكس من ذلك، هو اِصطِلاحِيّوصف لحزمة R ووظائفها وبياناتها. على عكس الأنواع الأخرى من الوثائق، فإن أي حزمة متوفرة في CRAN لها دليل مرجعي. وهو مكتوب بتنسيق محدد ومتزامن مع رمز الوظيفة. ونتيجة لذلك، يمكنك البحث عن معلومات المساعدة باستخدام أوامر المساعدة في بيئة R. على سبيل المثال، لمعرفة وصف الحزمة المثبتة ggplot2، ما عليك سوى إدخال اسم الحزمة متبوعًا بعلامة استفهام:

ggplot2

لدينا الآن جميع المعلومات المتوفرة حول حزمة ggplot2. بنفس الطريقة، يمكنك الاطلاع على وثائق دالة معينة: بعد اسم الحزمة، ضع نقطتين مزدوجتين واسم الوظيفة التي تبحث عنها (على سبيل المثال، الدالة stat_ellipse ) :

كل هذا يمكن العثور عليه بتنسيق PDF على موقع CRAN الرسمي (على سبيل المثال، الدليل المرجعي لحزمة ggplot2). تحتوي الصفحة الأولى على وصف لحزمة R، ثم قائمة وظائفها وجداول بياناتها، ثم وصف فني مفصل لكل منها حسب الترتيب الأبجدي.

خاتمة

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

وفي المقالة التالية سنقوم بتجميع حزمة R بأيدينا!