Menu
flag Ar iconالعربيةdown icon

ما هي لغة R؟ لغة البرمجة المخصصة للبيانات والإحصاء

ما هي لغة البرمجة R، ومن أين جاءت، وفيم تُستخدم، وكيف تُقارن بـ Python - مع أول تذوق عملي قابل للتشغيل لشيفرة R.

تحتوي هذه الصفحة على محررات قابلة للتشغيل - حرّر، شغّل، وشاهد النتيجة فوراً.

ما هي لغة R؟

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

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

وهذه R تفعل ما وُلدت لأجله - جرّب تشغيلها:

ثلاث إحصاءات في ثلاثة أسطر، دون أي استيراد. تبني c() متجهًا من القيم، بينما mean() وsd() وmax() مدمجة في اللغة نفسها. هذه هي تجربة R في صورة مصغّرة.

لمحة تاريخية موجزة

نشأت R من لغة S، وهي لغة إحصائية طُوِّرت في مختبرات Bell في السبعينيات. وفي منتصف التسعينيات، بنى إحصائيان في جامعة أوكلاند - Ross Ihaka وRobert Gentleman - تطبيقًا حرًا مفتوح المصدر لأفكار S وسمّياه R، في تلاعب لفظي يجمع الحرف الأول من اسميهما مع الحرف S الذي انحدرت منه.

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

استخدامات لغة R

  • الإحصاء وتحليل البيانات. حالة الاستخدام الأساسية. الإحصاء الوصفي، واختبارات الفرضيات، والانحدار، والسلاسل الزمنية - جميعها مواطنون من الدرجة الأولى.
  • تصور البيانات. مخططات R الأساسية باستدعاء دالة واحدة، وتُعد حزمة ggplot2 على نطاق واسع أفضل مكتبة رسوم بيانية في أي لغة.
  • علم البيانات. مجموعة حزم "tidyverse" (وهي dplyr وtidyr وreadr) تجعل تنظيف البيانات الفوضوية وإعادة تشكيلها أمرًا ممتعًا على نحو غير معتاد.
  • المعلوماتية الحيوية. مشروع Bioconductor - آلاف حزم R للجينوميات - يجعل R اللغة الافتراضية في جانب كبير من علم الأحياء.
  • الأوساط الأكاديمية والبحث. الاقتصاد، وعلم النفس، وعلم الأوبئة، والبيئة: إذا كان مجال ما ينشر أوراقًا تتضمن قيم p، فطلاب الدراسات العليا فيه يكتبون R على الأرجح.
  • إعداد التقارير. يحوّل R Markdown وQuarto شيفرة التحليل إلى تقارير وشرائح ولوحات معلومات مصقولة.

لماذا يحب الناس R

كل شيء متجه. تنطبق عمليات R بطبيعتها على مجموعات كاملة من القيم دفعة واحدة - فالتعبير prices * 1.2 يرفع كل سعر بنسبة 20% دون أي حلقة تكرار. وحين تستوعب هذه الفكرة، تصبح شيفرة البيانات أقصر بكثير. وسترى ذلك في كل مكان حين تصل إلى المتجهات.

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

CRAN. تستضيف شبكة أرشيف R الشاملة أكثر من 20,000 حزمة منتقاة، وكل واحدة منها تجتاز فحوصًا آلية قبل النشر. ومهما كانت الطريقة المتخصصة التي يستخدمها مجالك، فقد حزمها أحدهم مسبقًا.

رسم بياني يحترم وقتك. يعطيك hist(scores) مدرجًا تكراريًا. استدعاء واحد. التحليل الاستكشافي - انظر إلى البيانات، عدّل، ثم انظر ثانية - هو ما تحسّنه R من أجله.

R مقابل Python: النسخة الصادقة

هذا هو السؤال الذي يطرحه كل مبتدئ، وإليك الجواب دون تعصب.

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

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

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

جرّبها الآن

لا تحتاج إلى تثبيت أي شيء لتبدأ - فكتل الشيفرة في هذه الصفحات حية. وإليك تذوقًا أكبر قليلًا: محاكاة رميات النرد وتلخيصها.

تحاكي sample() مئة رمية نرد، وتحسب table() عدد مرات ظهور كل وجه - جدول تكرارات باستدعاء واحد. غيّر الرقم 100 إلى 10000 وشغّل الشيفرة ثانية؛ سيقترب المتوسط من 3.5، تمامًا كما ينص علم الاحتمالات. هذه الدورة - سؤال، شيفرة، جواب، تعديل - هي ما يشبهه العمل بلغة R.

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

ما تخرج به

  • R لغة حرة مفتوحة المصدر بُنيت خصيصًا للإحصاء وتحليل البيانات والتصور البياني.
  • تنحدر من لغة S، وأنشأها Ross Ihaka وRobert Gentleman في منتصف التسعينيات؛ وصدر الإصدار R 1.0 عام 2000.
  • نقاط قوتها: العمليات المتجهية، والإحصاء المدمج، وأكثر من 20,000 حزمة على CRAN، ورسم بياني من الطراز الأول.
  • المقارنة بين R وPython ليست حربًا - فـ R أعمق في الإحصاء، وPython أوسع في الهندسة، وكثيرون يستخدمون كلتيهما.

التالي: الحصول على R (وRStudio) وتثبيتهما على جهازك.

الأسئلة الشائعة

فيم تُستخدم لغة البرمجة R؟

تُستخدم R في الإحصاء وتحليل البيانات وتصور البيانات. وهي مهيمنة في البحث الأكاديمي، والإحصاء الحيوي والمعلوماتية الحيوية، وعلم الأوبئة، وكل مجال تكون فيه المهمة: 'حلّل مجموعة البيانات هذه وأنتج رسومًا ونماذج'. أما بناء التطبيقات أو المواقع فهو استخدام أقل شيوعًا لها - فليس هذا ما صُمِّمت من أجله.

هل تعلم لغة R صعب؟

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

هل أتعلم R أم Python؟

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

هل لغة R مجانية؟

نعم. R حرة ومفتوحة المصدر، وتصدر برخصة GPL. تنزّلها من CRAN دون أي تكلفة، وآلاف الحزم المتاحة على CRAN مجانية كذلك.

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن