مقدمة إلى لغة R: ما هي لغة البرمجة الإحصائية R؟

تُعد لغة R اللغة الأكثر شيوعًا في العالم في مجال الحوسبة الإحصائية والرسوم البيانية — فهي تجعل تحليل البيانات وتصورها أمرًا بسيطًا واحترافيًّا.

صُمم هذا البرنامج التعليمي للمبتدئين الذين لا يمتلكون أي خبرة سابقة، حيث يبدأ بـ «ما هو R؟» ويتطور تدريجيًّا حتى تصل إلى مرحلة تمكنك من إنجاز مشروع كامل لتحليل البيانات باستخدام لغة R. وتُعد لغة R المعيار السائد في مجال البحث الأكاديمي وعلم البيانات والنمذجة الإحصائية، ويستخدمها أكثر من 2.5 مليون عالم بيانات حول العالم.

1. ما ستتعلمه



2. قصة حقيقية لمحلل بيانات

(1) المعاناة: لم يعد برنامج Excel قادرًا على تحمل ذلك

أليس هي محللة سوقية تلقت مؤخرًا مهمة عاجلة:

"قم بتجميع @,000 صف من بيانات المبيعات خلال الـ 12 شهراً الماضية في تقرير اتجاهات من 6 صفحات يغطي أبعاداً مختلفة؛ حيث يحتاج المدير إلى الاطلاع عليه صباح الغد."

فتح برنامج «إكسل» لبدء العمل، ليجد أن:

كيف تمكن من فعل ذلك في النهاية؟ لقد تحول إلى R.

(2) الحل باستخدام لغة R

بالنسبة للمهمة نفسها، تكتب أليس ما يلي بلغة R:

R
# Load the entire data analysis toolkit with a single line of code
library(tidyverse)

# Read in a single line of code @,000 rows ofData(5 Done in a second)
sales <- read_csv("sales_2024.csv")

# Draw with one line of code 6 Post a picture
sales |>
  group_by(region, month) |>
  summarise(total = sum(amount)) |>
  ggplot(aes(x = month, y = total, color = region)) +
  geom_line() +
  facet_wrap(~ product) +
  labs(title = "2024 Annual Sales Trends(By Region/Products)")

المدة الإجمالية: 5 دقائق — 5 ثوانٍ لقراءة البيانات، وثانية واحدة لتجميعها، و3 ثوانٍ لإنشاء 6 رسوم بيانية، وقضيت بقية الوقت في صقل العناوين.

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



3. ما هو R؟

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

(1) الأدوار الثلاثة الرئيسية لـ R

الفئة الوصف
منصة عمل الإحصائي تتضمن أكثر من 8,000 دالة إحصائية تغطي جميع الأساليب الإحصائية، بما في ذلك الإحصاء الوصفي، واختبار الفرضيات، والانحدار، والتحليل البايزي، وتحليل السلاسل الزمنية، وغير ذلك
فرشاة عالم البيانات تتيح لك صيغة رسم المخططات في ggplot2 إنشاء رسوم بيانية بجودة النشر في سطر واحد من التعليمات البرمجية، متفوقةً بذلك على النمط الافتراضي لمكتبة matplotlib في لغة Python
معايير البحث القابل للتكرار يجمع R Markdown بين الأكواد والمعادلات والأشكال والنصوص في مستند واحد — وهو المعيار المتبع لتقديم الأبحاث إلى المجلات العلمية

(2) المزايا الأساسية للغة R



4. الاختلافات بين لغتي R و Python

يسأل العديد من المبتدئين: «هل يجب أن أتعلم لغة R أم لغة Python؟» والجواب هو تعلم كلتا اللغتين — ولكن لأغراض مختلفة.

(1) رسم بياني واحد لفهم الاختلافات في تحديد المواقع

100%
graph TB
    subgraph Division of Labor Among Programming Languages
        A[R<br/>Statistical Analysis<br/>Academic Research<br/>Data Visualization] 
        B[Python<br/>Web Development<br/>Machine Learning<br/>Automation Engineering]
        C[SQL<br/>Database Query]
        D[JavaScript<br/>Front-End Interaction]
    end
    
    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#f0e1ff
    style D fill:#e1ffe1

(2) جدول المقارنة سداسي الأبعاد

البعد R بايثون
أهداف التصميم للإحصائيين لغة برمجة متعددة الأغراض
مجالات الخبرة التحليل الإحصائي، وتصور البيانات، والبحث الأكاديمي الويب، والتعلم الآلي، والأتمتة، والهندسة العامة
علم البيانات تسلسل مكتبة tidyverse + ggplot2 pandas + matplotlib/sklearn
منحنى التعلم البرمجة الوظيفية + المفاهيم الإحصائية البرمجة الأمرية + هندسة البرمجيات
منظومة الحزم أكثر من 20,000 حزمة إحصائية على CRAN أكثر من 400,000 حزمة للأغراض العامة على PyPI
المخرجات تقرير البيانات (R Markdown) التطبيق (Django/Flask)

(3) خلاصة موجزة

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



5. ولادة R

(1) لغة لها قصة

لم يتم تصميم لغة R من العدم؛ بل لها مسار تطوري واضح:

(2) لماذا استمرت R لمدة 30 عامًا؟

لغة R ليست لغة «مثالية» (فبنيتها النحوية تنطوي على بعض الميزات الغريبة، كما أن بيئة التطوير المتكاملة (IDE) بطيئة في التشغيل)، لكن السبب وراء استمرارها لمدة 30 عامًا هو:

💡 نصيحة: هناك العديد من اللغات التي «تبدو» مثالية لكنها ميتة (مثل بيرل، وروبي، وهاسكل)؛ أما لغة R ف«تبدو» غريبة لكنها تزدهر أكثر من أي وقت مضى. تكمن القيمة الحقيقية لأي لغة في نظامها البيئي، وليس في قواعدها النحوية.



6. تثبيت R (البرنامج الرئيسي R 4.x)

برنامج R مفتوح المصدر ومجاني؛ يمكنك تنزيل حزمة التثبيت من موقع CRAN.

(1) تعليمات التثبيت لكل نظام تشغيل

المنصة طريقة التثبيت ملاحظات
ويندوز قم بتنزيل R-4.x.x-win.exe، ثم انقر نقرًا مزدوجًا عليه وانقر على «التالي» خلال معالج التثبيت حدد الإصدار المطابق لنظامك ذي 64 بت
macOS Apple Silicon تنزيل R-4.x.x-arm64.pkg شرائح M1/M2/M3
macOS Intel تنزيل R-4.x.x-x86_64.pkg أجهزة Mac القديمة
لينكس (أوبونتو/ديبيان) عبر مستودع CRAN apt install انظر الأمر أدناه
لينكس (فيدورا/سنتوس) عبر مستودع EPEL dnf install انظر الوثائق الرسمية لـ CRAN

(2) أوامر تثبيت نظام لينكس

BASH
# Ubuntu/Debian User:Execute the following commands one by one in the terminal
sudo apt update -qq
sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt install -y r-base

(3) التحقق من التثبيت

بمجرد اكتمال التثبيت، افتح محطة النظام وأدخل:

BASH
R --version

النتيجة المتوقعة:

TEXT
R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

إذا رأيت رقم إصدار R، فهذا يعني أن البرنامج الرئيسي قد تم تثبيته بنجاح.

⚠️ ملاحظة: اكتب R (بالحروف الكبيرة) في المحطة الطرفية للدخول إلى بيئة REPL التفاعلية لـ R؛ واكتب q() للخروج من R. في نظام ويندوز، يمكنك أيضًا فتح R من «قائمة ابدأ → R».



7. تثبيت RStudio (بيئة تطوير متكاملة موصى بها)

يأتي برنامج R مزودًا بواجهة مستخدم رسومية أساسية، لكن 99% من مستخدمي R يستخدمون RStudio — وهو بيئة تطوير متكاملة (IDE) مخصصة لـ R طورتها شركة Posit, Inc.، وتُعد الأداة القياسية لمستخدمي R في جميع أنحاء العالم.

(1) تنزيل RStudio

تفضل بزيارة الموقع الرسمي لـ Posit لتنزيل النسخة المجانية من RStudio Desktop (متوفرة لأنظمة التشغيل Windows و macOS و Linux؛ حجمها حوالي 200 ميغابايت).

(2) عرض RStudio بأربعة أجزاء

عندما تفتح RStudio للمرة الأولى، سترى أربعة أجزاء:

100%
graph TB
    A["Source Editor<br/>Source Editor<br/>Write R Scripts and Documentation"] 
    B["Console<br/>Console<br/>Execute Code,Display Results"]
    C["Environment/History<br/>Environment/History<br/>View Variables,Historical Commands"]
    D["Documents/Charts/Packages/Help<br/>Files/Plots/Packages/Help"]
    
    A -- "Ctrl+Enter<br/>Run the selected row" --> B
    B -- "Assignment Generation" --> C
    B -- "plot Drawing" --> D
    C -- "Click on the variable name to view" --> D
    
    style A fill:#fff3cd
    style B fill:#d4edda
    style C fill:#cce5ff
    style D fill:#f8d7da

(3) قائمة من أربعة أعمدة

اللوحة الموقع الغرض الرئيسي
محرر المصدر أعلى اليسار كتابة .R البرامج النصية و.Rmd المستندات؛ Ctrl+Enter إرسالها إلى وحدة التحكم
وحدة التحكم أسفل اليسار تنفيذ تعليمات لغة R تفاعليًّا؛ وعرض النتائج ورسائل الخطأ
البيئة/السجل أعلى اليمين يسرد جميع المتغيرات الحالية (إطارات البيانات، الدوال، إلخ)؛ سجل الأوامر
الملفات/الرسوم البيانية/الحزم/المساعدة أسفل اليمين تصفح الملفات، وعرض نتائج الرسوم البيانية، وتثبيت/تحميل الحزم، والاطلاع على مساعدة الدوال
💡 نصيحة: إذا كانت الواجهة باللغة الإنجليزية، فيمكنك استخدام القائمة Tools → Global Options → General → Appearance لتغيير مظهر بيئة التطوير المتكاملة (مثل المظهر الداكن «Tomorrow Night Blue»). ومع ذلك، من المفيد إبقاء القائمة باللغة الإنجليزية حتى تتمكن من العثور على إجابات عند البحث عن رسائل الخطأ.



8. أول برنامج نصي بلغة R

الآن دعونا نكتب أول برنامج نصي لنا بلغة R. مسار العمل الكامل هو كما يلي:

▶ مثال: «Hello World» + حسابات بسيطة

R
# ============================================
# My First R Screenplay
# File Name:hello.R
# ============================================

# 1. Comments are marked with # Introduction,Will not be executed
# 2. Used for variable assignment <-
name <- "World"

# 3. Use cat() Output (cat = concatenate, join)
cat("Hello,", name, "!\n")

# 4. R It's a calculator.(Enter the expression directly)
1 + 1
2 * 3
sqrt(144)  # Square Root = 12
log(100)   # Natural Logarithm

# 5. Performing Calculations Using Variables
pi_value <- 3.14159
radius <- 5
area <- pi_value * radius ^ 2
cat("The radius is", radius, "The area of the circle is approximately equal to", round(area, 2), "\n")
▶ جرّب الكود

النتيجة المتوقعة:

TEXT
Hello, World !
[1] 2
[1] 6
[1] 12
[1] 4.60517
The radius is 5 The area of the circle is approximately equal to 78.54

(1) الإجراء

الخطوة الإجراء الوصف
1 في RStudio، اضغط على Ctrl+Shift+N إنشاء برنامج نصي جديد بلغة R
2 أدخل الرمز أعلاه انسخ الرمز بالكامل والصقه
3 Ctrl+S حفظ باسم hello.R حدد مجلدًا
4 تحديد كل الكود Ctrl+A
5 Ctrl+Enter إرسال إلى وحدة التحكم للتشغيل
6 عرض النتيجة في وحدة التحكم انظر "Hello, World!"
💡 نصيحة: cat() أكثر مرونة من print() ويسمح لك بضم عدة معلمات معًا؛ \n يمثل فاصل أسطر؛ <- هو عامل التعيين في لغة R (علامة «أصغر من» + واصلة)، وسنتناول ذلك بمزيد من التفصيل في الدرس التالي.



9. منظومة حزم R

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

(1) العناصر الأساسية الثلاثة لإدارة الحزم

R
# 1. Installation Package (Download from CRAN Mirror, Just do it once)
install.packages("dplyr")

# 2. Load Package(It must be loaded once for each new session.)
library(dplyr)

# 3. View Installed Packages
installed.packages()[, "Package"]

(2) tidyverse: «المجموعة المكونة من خمسة عناصر» لعلم البيانات في لغة R

tidyverse هي مجموعة من الحزم «tidy» التي يقودها هادلي ويكهام (مؤلف ggplot2)، وتُعد المعيار الفعلي لعلم البيانات الحديث باستخدام لغة R:

الحزمة الغرض الوظائف النموذجية
dplyr معالجة البيانات filter() mutate() group_by() summarise()
ggplot2 رسومات بجودة النشر ggplot() geom_point() geom_bar()
readr قراءة/كتابة ملفات CSV/TSV read_csv() write_csv()
tidyr إعادة تشكيل البيانات pivot_longer() pivot_wider()
stringr معالجة السلاسل str_detect() str_replace()
💡 نصيحة: يستخدم الدرس رقم 30 من هذا البرنامج التعليمي حزمة tidyverse على نطاق واسع. قم بتثبيتها مرة واحدة:

R
# One-time installation 8 A core package(dplyr/ggplot2/readr/tidyr/stringr/purrr/tibble/readxl)
install.packages("tidyverse")

❓ أسئلة شائعة

س أيهما يجب أن أقوم بتثبيته أولاً، R أم RStudio؟
ج يجب عليك تثبيت برنامج R أولاً، ثم RStudio. RStudio هو «واجهة» لبرنامج R ولا يمكن تشغيله بمفرده. ولتوضيح ذلك بمثال: قم بتثبيت المحرك أولاً، ثم قمعة القيادة.
س هل يمكنني استخدام لغة R في التعلم الآلي؟
ج نعم، لكن لغة R موجهة بشكل أكبر نحو الإحصاء والأوساط الأكاديمية، في حين أن لغة Python (PyTorch/TensorFlow) هي اللغة السائدة بفارق كبير في مجالات الذكاء الاصطناعي والتعلم العميق. إذا كان هدفك هو الانتقال إلى مجال الذكاء الاصطناعي، فإنني أوصيك بتعلم لغة Python؛ أما إذا كان هدفك هو علم البيانات أو النمذجة الإحصائية، فإن لغة R تُعد «الأكثر أصالة».
س هل أحتاج إلى معرفة لغة بايثون قبل تعلم لغة R؟
ج لا. لغة R هي لغة قائمة بذاتها، لذا يمكنك البدء من الصفر. ومع ذلك، إذا تعلمت اللغتين معًا، فسيكون بإمكانك اختيار الأداة الأنسب لكل مهمة، مما سيزيد من كفاءتك إلى أقصى حد. نوصي بتعلم لغة R أولاً (لعلوم البيانات والإحصاء)، ثم تعلم لغة بايثون عند الحاجة.
س ماذا أفعل إذا كان تثبيت R في الصين بطيئًا أو فشل؟
ج في إعدادات RStudio Tools → Global Options → Packages → CRAN mirror، قم بالتبديل إلى مرآة صينية (مثل Tsinghua https://mirrors.tuna.tsinghua.edu.cn/CRAN/)؛ فهذا سيجعل العملية أسرع بعشر مرات. كما يجب على مستخدمي Linux اختيار مرآة صينية عند تكوين مستودع apt.

📖 ملخص


📝 تمارين

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

  2. تمرين متقدم: أنشئ برنامجًا نصيًّا جديدًا في RStudio واكتب برنامج «تقديم الذات»: ① حدد 3 متغيرات (الاسم name، العمر age، المدينة city)؛ ② استخدم cat() لتكوين جملة وإخراج «اسمي [Name]، عمري [Age] سنة، وأنا من [City]»؛ ③ استخدم # لكتابة 2–3 أسطر من التعليقات لشرح الكود. بعد تشغيل البرنامج النصي، التقط لقطة شاشة واحفظ إخراج وحدة التحكم.

  3. التحدي: ابحث عن حزمة R واحدة تثير اهتمامك أكثر من غيرها (يُوصى بـ: ggplot2 / dplyr / shiny / rmarkdown / forecast)، واكتب فقرة (حوالي 200 حرف) تصف الغرض منها، وحالات الاستخدام النموذجية، ومثالاً من الواقع (يمكنك العثور عليه على موقع RStudio أو CRAN Task Views). احفظ نتائج بحثك في مستند.

Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%