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

ورقة R المرجعية

آخر تحديث

Hello World والإسناد

عامل الإسناد الاصطلاحي في R هو <- (ويعمل العامل = أيضًا).

العمليةالصياغة
طباعة قيمةprint("Hello, World!")
طباعة تلقائية (في الكونسول)"Hello, World!"
الدمج والطباعةcat("Hi", name, "\n")
الإسناد (اصطلاحي)x <- 5
الإسناد (صالح أيضًا)x = 5
الإسناد إلى اليمين5 -> x
تعليق# this is a comment
تشغيل سكربتRscript app.R

أنواع البيانات والمتّجهات

المتّجه هو هيكل البيانات الأساسي في R؛ وحتى القيمة المفردة هي متّجه بطول 1.

العمليةالصياغة
متّجه رقميv <- c(1, 2, 3)
متّجه نصيs <- c("a", "b")
متّجه منطقيb <- c(TRUE, FALSE)
تسلسل صحيح1:10
تسلسل بخطوةseq(0, 1, by = 0.1)
تكرار القيمrep(0, times = 5)
الأنواع الأساسيةnumeric, character, logical, integer, complex
فحص / إكراه النوعclass(x), as.numeric("42")

عمليات المتّجهات

العمليات متّجهية وتُطبَّق عنصرًا بعنصر؛ والفهرسة تبدأ من 1.

العمليةالصياغة
الوصول إلى عنصر (يبدأ من 1)v[1]
تقطيع نطاقv[2:4]
التصفية المنطقيةv[v > 2]
إسقاط عنصرv[-1]
رياضيات عنصرًا بعنصرv * 2, v1 + v2
الطولlength(v)
مختزِلات شائعةsum(v), mean(v), max(v)
الترتيب / العكسsort(v), rev(v)
متّجه مسمّىc(a = 1, b = 2)

إطارات البيانات

إطار البيانات جدول من الأعمدة، كل منها متّجه بالطول نفسه.

العمليةالصياغة
إنشاء إطار بياناتdf <- data.frame(name = c("Ada"), age = c(30))
أول / آخر الصفوفhead(df), tail(df)
الأبعادnrow(df), ncol(df), dim(df)
أسماء الأعمدةnames(df), colnames(df)
تحديد عمودdf$age أو df[["age"]]
تحديد الصفوف / الأعمدةdf[1, ], df[, "age"]
تصفية الصفوفdf[df$age > 18, ]
إضافة عمودdf$adult <- df$age >= 18
الإحصاءات الموجزةsummary(df)
نظرة عامة على البنيةstr(df)

العوامل والقوائم

العوامل تخزّن البيانات الفئوية؛ والقوائم تحمل عناصر من أنواع مختلطة.

العمليةالصياغة
إنشاء عاملf <- factor(c("low", "high"))
مستويات العاملlevels(f)
عامل مرتّبfactor(x, ordered = TRUE)
العدّ حسب المستوىtable(f)
إنشاء قائمةl <- list(name = "Ada", scores = c(1, 2))
الوصول بالاسمl$name أو l[["name"]]
الوصول بالموضعl[[1]]
قائمة فرعية (تبقى قائمة)l[1]
الطول / الأسماءlength(l), names(l)

التحكم في التدفق

الشروط توضع بين أقواس والكتل بين أقواس معقوفة.

العمليةالصياغة
If / else if / elseif (x > 0) { ... } else if (x < 0) { ... } else { ... }
if-else متّجهيةifelse(v > 0, "pos", "neg")
حلقة forfor (i in 1:10) { ... }
For على متّجهfor (x in v) { ... }
حلقة whilewhile (x < 100) { ... }
Repeat مع breakrepeat { if (done) break }
Switchswitch(key, a = 1, b = 2)
العوامل المنطقية&&, ||, ! (عددي)؛ &, | (متّجهي)

الدوال

الدوال من الدرجة الأولى؛ ويُرجَع آخر تعبير مُقيَّم.

العمليةالصياغة
تعريف دالةadd <- function(a, b) { a + b }
إرجاع صريحreturn(a + b)
وسيط افتراضيgreet <- function(name = "World") { ... }
وسيط متغيّرf <- function(...) { sum(...) }
النداء بالاسمbox(w = 2, h = 3)
دالة مجهولة الاسمfunction(x) x * 2
مجهولة الاسم (مختصرة)\(x) x * 2
التمرير لدالة عليا الرتبةsapply(1:3, function(x) x^2)

عائلة apply

تطبيق دالة على البيانات دون كتابة حلقات صريحة.

الدالةوظيفتها
apply(m, 1, sum)التطبيق على صفوف المصفوفة (1) أو أعمدتها (2)
sapply(v, f)التطبيق على متّجه مع التبسيط إلى متّجه/مصفوفة
lapply(v, f)التطبيق على متّجه، يُرجع قائمة دائمًا
vapply(v, f, numeric(1))مثل sapply لكن بنوع إرجاع مفحوص
mapply(f, a, b)التطبيق على عدة متّجهات بالتوازي
tapply(x, group, mean)تطبيق دالة لكل مجموعة
Map(f, a, b)تطبيق متعدد المتغيرات يُرجع قائمة
Reduce(+, v)طيّ متّجه بدالة ثنائية

دوال معالجة البيانات والإحصاء الشائعة

دوال أساسية كثيرة الاستخدام لتلخيص البيانات وإعادة تشكيلها.

الدالةوظيفتها
mean(v) / median(v)المتوسط / القيمة الوسطى
sd(v) / var(v)الانحراف المعياري / التباين
min(v) / max(v) / range(v)الأصغر / الأكبر / كلاهما
quantile(v)الكميّات (مثل الأرباع)
table(x)تكرارات القيم
unique(v) / duplicated(v)القيم المميّزة / أعلام التكرار
is.na(v) / na.omit(df)إيجاد / إسقاط القيم المفقودة
aggregate(y ~ g, df, mean)تلخيص y حسب المجموعة g
order(v)ترتيب الفهارس للترتيب
cor(x, y)الارتباط بين متّجهين

صياغة R التي تستخدمها أكثر من غيرها، على صفحة واحدة. ورقة R المرجعية هذه هي مرجع سريع للّغة الأساسية - الإسناد وأنواع البيانات، والمتّجهات وعمليات المتّجهات، وإطارات البيانات، والعوامل والقوائم، والتحكم في التدفق، والدوال، وعائلة apply المستخدمة عبر تحليل بيانات rstats.

كل ما هنا هو R الأساسية ويعمل على تثبيت اعتيادي - دون الحاجة إلى أيّ حزم إضافية. انسخ ما تحتاجه، أو جرّب كل مقطع برمجي مباشرة في playground الخاص بـ R - دون الحاجة إلى أي إعداد.

الأسئلة الشائعة حول ورقة R المرجعية

هل ورقة R المرجعية هذه مجانية؟
نعم. ورقة R المرجعية هذه مجانية تمامًا، دون الحاجة إلى التسجيل. أضِفها إلى المفضلة وارجع إليها متى احتجت إلى البحث عن عملية متّجه أو دالة إطار بيانات أو دالة إحصاء.
هل متّجهات R تبدأ فهرستها من 1 فعلًا؟
نعم. خلافًا لمعظم لغات البرمجة، تبدأ الفهرسة في R من 1، لذا يُرجع v[1] العنصر الأول ويُرجع v[length(v)] العنصر الأخير. وللفهارس السالبة معنى خاص - فـ v[-1] يزيل العنصر الأول بدلًا من العدّ من النهاية. ويسري هذا العُرف الذي يبدأ من 1 عبر المتّجهات والقوائم وإطارات البيانات على حدّ سواء.
ما هو إطار البيانات في R؟
إطار البيانات هو نوع الجدول في R: مجموعة من الأعمدة يكون فيها كل عمود متّجهًا بالطول نفسه، ويمكن للأعمدة المختلفة أن تحمل أنواعًا مختلفة (أرقام، نصوص، عوامل). وهو الهيكل القياسي لمجموعات البيانات - الصفوف ملاحظات والأعمدة متغيرات - وتفهرسه كـ df[rows, columns]، وتحدّد عمودًا بـ df$name، وتفحصه بـ str(df) أو summary(df).
هل يمكنني التدرّب على R عبر الإنترنت؟
نعم. افتح playground الخاص بـ R لتشغيل أيّ مقطع برمجي من هذه الورقة المرجعية في متصفحك - دون الحاجة إلى تثبيت R أو RStudio. وعندما ترغب في تعلّم منظّم، تأخذك دورة R التفاعلية المجانية من Coddy من المتّجهات وإطارات البيانات إلى عائلة apply والإحصاء خطوة بخطوة.
هل هذه الورقة المرجعية مناسبة للمبتدئين؟
نعم. إنها مرتّبة من المواضيع الأكثر شيوعًا (الإسناد والمتّجهات وإطارات البيانات) وصولًا إلى المتقدمة (عائلة apply ودوال الإحصاء)، بحيث يمكنك استخدام الأقسام العلوية من اليوم الأول والتدرّج إلى البقية.
Coddy programming languages illustration

تعلّم R مع Coddy

ابدأ الآن