English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هذا الفصل يقدم عمليات بسيطة بلغة R.
على عادة، في اللغات الأخرى، يتم الت赋يف كالتالي: = الرقم، ولكن لغة R هي لغة رياضيات، لذا علامة التساوي مشابهة جدًا للكود الوهمي في كتب الرياضيات، وهي رمز المثلث الأيسر <-:
a <- 123 b <- 456 تدفق(a + b)
نتيجة تنفيذ الكود أعلاه:
[1] 579
علامة التساوي هذه هي نقطة قوة شكلية ونقطة ضعف عملية في لغة R: شكلية أكثر ملاءمة للعاملين في الرياضيات، لأن ليس كل عامل في الرياضيات معتاد على استخدام = كعلامة التساوي.
من الناحية العملية، الرمز < والرمز - ليسا كلمات مرادفة جيدة للكتابة، مما يجعل العديد من المبرمجين غير مريحين. لذلك، يدعم إصدار R الجديد = كعلامة التساوي:
a = 123 b = 456 تدفق(a + b)
هذا هو برنامج R صالح.
ملاحظة:من الصعب التحقق من الإصدار من R بدءاً من = تعيين، ولكن الإصدار الذي يستخدمه هذا الدليل هو R 4.0.0.
يظهر الجدول أدناه الدوال الرياضية الرئيسية وأساليبها:
الطيف | العلامة | التعريف |
---|---|---|
1 | () | الكتلة |
2 | ^ | الجبرة |
3 | %% | القسمة الكاملة مع الباقي |
%/% | القسمة الكاملة | |
4 | * | الضرب |
/ | القسمة | |
5 | + | الجمع |
- | الطرح |
يظهر المثال أدناه عمليات الرياضيات البسيطة:
> 1 + 2 * 3 [1] 7 > (1 + 2) * 3 [1] 9 > 3 / 4 [1] 0.75 > 3.4 - 1.2 [1] 2.2 > 1 - 4 * 0.5^3 [1] 0.5 > 8 / 3 %% 2 [1] 8 > 8 / 4 %% 2 [1] Inf > 3 %% 2^2 [1] 3 > 10 / 3 %% 2 [1] 10
يظهر الجدول أدناه الدوال العلاقاتية التي يدعمها لغة R، تقارن الدوال العلاقاتية بين م矢量ين، وتعيد قيمة منطقية.
المعادلة | الوصف |
---|---|
> | تحديد ما إذا كان كل عنصر من الم矢量 أكبر من عنصر الم矢量 المماثل. |
< | تحديد ما إذا كان كل عنصر من الم矢量 أقل من عنصر الم矢量 المماثل. |
== | تحديد ما إذا كان كل عنصر من الم矢量 يساوي عنصر الم矢量 المماثل. |
!= | تحديد ما إذا كان كل عنصر من الم矢量 مختلفاً عن عنصر الم矢量 المماثل. |
>= | تحديد ما إذا كان كل عنصر من الم矢量 أكبر أو يساوي عنصر الم矢量 المماثل. |
<= | تحديد ما إذا كان كل عنصر من الم矢量 أقل أو يساوي عنصر الم矢量 المماثل. |
v <- c(2,4,6,9) t <- c(1,4,7,9) تدفق(v>t) تدفق(v < t) تدفق(v == t) تدفق(v!=t) تدفق(v>=t) تدفق(v<=t)
نتيجة تنفيذ الكود أعلاه هي:
[1] TRUE FALSE FALSE FALSE [1] FALSE FALSE TRUE FALSE [1] FALSE TRUE FALSE TRUE [1] TRUE FALSE TRUE FALSE [1] TRUE TRUE FALSE TRUE [1] FALSE TRUE TRUE TRUE
الجدول التالي يوضح عمليات العمليات المنطقية التي يدعمها لغة R، يمكن استخدامها مع الأعداد، الدرجات والمعقدات.
اعداد بزرگتر از 1 TRUE هستند.
عامليه منطقية مقایسه دو درجهها، هر عنصر از درجههای اول با عنصر مربوطه از درجههای دوم مقایسه میشوند، نتیجه یک درجه بولی برمیگردد.
المعادلة | الوصف |
---|---|
& | عامليه و منطقية عنصر، هر عنصر از درجههای اول با عنصر مربوطه از درجههای دوم ترکیب میشوند، اگر هر دو TRUE باشند، نتیجه TRUE خواهد بود، در غیر این صورت FALSE. |
| | عامليه یا منطقية عنصر، هر عنصر از درجههای اول با عنصر مربوطه از درجههای دوم ترکیب میشوند، اگر یکی از عناصر TRUE باشد، نتیجه TRUE خواهد بود، اگر هر دو FALSE باشند، نتیجه FALSE برمیگردد. |
! | عامليه غیر منطقية، ارزش منطقی عکس هر عنصر از درجهها برمیگردد، اگر عنصر TRUE باشد، FALSE برمیگردد، اگر FALSE باشد، TRUE. |
&& | عامليه و منطقية، فقط برای عنصر اول دو درجهها بررسی میشوند، اگر هر دو TRUE باشند، نتیجه TRUE خواهد بود، در غیر این صورت FALSE. |
|| | عامليه أو منطقية، فقط برای عنصر اول دو درجهها بررسی میشوند، اگر یکی از عناصر TRUE باشد، نتیجه TRUE خواهد بود، اگر هر دو FALSE باشند، نتیجه FALSE برمیگردد. |
v <- c(3,1,TRUE,2+3i) t <- c(4,1,FALSE,2+3i) print(v&t) print(v|t) print(!v) # &&、|| فقط برای عنصر اول مقایسه میشوند v <- c(3,0,TRUE,2+2i) t <- c(1,3,TRUE,2+3i) print(v&&t) v <- c(0,0,TRUE,2+2i) t <- c(0,3,TRUE,2+3i) print(v||t)
نتيجة تنفيذ الكود أعلاه هي:
[1] TRUE TRUE FALSE TRUE [1] TRUE TRUE TRUE TRUE [1] FALSE FALSE FALSE FALSE [1] TRUE [1] FALSE
يمكن استخدام علامات التخصيص إلى اليسار، إلى اليمين أو المساواة في لغة R لتخصيص المتغيرات.
الجدول التالي يوضح عمليات التخصيص التي يدعمها لغة R.
المعادلة | الوصف |
---|---|
<− = <<− | إلى اليسار |
−> −>> | إلى اليمين |
# 向左赋值 v1 <- c(3,1,TRUE,"w3codebox") v2 <<- c(3,1,TRUE,"w3codebox") v3 = c(3,1,TRUE,"w3codebox") print(v1) print(v2) print(v3) # 向右赋值 c(3,1,TRUE,"w3codebox") -> v1 c(3,1,TRUE,"w3codebox") ->> v2 print(v1) print(v2)
نتيجة تنفيذ الكود أعلاه هي:
[1] "3" "1" "TRUE" "w3codebox" [1] "3" "1" "TRUE" "w3codebox" [1] "3" "1" "TRUE" "w3codebox" [1] "3" "1" "TRUE" "w3codebox" [1] "3" "1" "TRUE" "w3codebox"
يحتوي لغة R على بعض معادلات خاصة.
المعادلة | الوصف |
---|---|
: | عنصر التكرار، لإنشاء سلسلة من الأرقام كفريق. |
%in% | لتحديد ما إذا كان العنصر موجودًا في الفريق، يعود بقيمة بولية،بالفعل يعود TRUE، لا يعود FALSE. |
%*% | للضرب بين المصفوفة وبعكسها |
# الفريق من 1 إلى 10 v <- 1:10 print(v) # تحديد ما إذا كان الرقم موجودًا في الفريق v v1 <- 3 v2 <- 15 print(v1 %in% v) print(v2 %in% v) # ضرب مصفوفة بالعكس الصحيح لها M = matrix(c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE) t = M %*% t(M) print(t)
نتيجة تنفيذ الكود أعلاه هي:
[1] 1 2 3 4 5 6 7 8 9 10 [1] TRUE [1] FALSE [,1] [,2] [1,] 65 82 [2,] 82 117
توجد دوال رياضية شائعة لبعض دوال الرياضيات:
الوظيفة | الشرح |
---|---|
sqrt(n) | جذر مربع n |
exp(n) | مثلث الطبيعي e مرفوعًا إلى القوة n، |
log(m,n) | دالة اللوغاريثم m، تعود بالعدد n الذي يساوي n مرة هو m |
log10(m) | يساوي log(m,10) |
الامثلة التالية توضح تطبيق دوال الرياضيات:
> sqrt(4) [1] 2 > exp(1) [1] 2.718282 > exp(2) [1] 7.389056 > log(2,4) [1] 0.5 > log10(10000) [1] 4
دوال التقريب:
الاسم | نموذج المعلمات | التعريف |
---|---|---|
round | (n) | تقريب n إلى أقرب عدد كامل |
(n, m) | تقريب n إلى m أرقامًا عشرية | |
ceiling | (n) | تقريب n إلى الأعلى |
floor | (n) | تقريب n إلى الأسفل |
الامثلة التالية توضح تطبيق دالة التقريب:
> round(1.5) [1] 2 > round(2.5) [1] 2 > round(3.5) [1] 4 > round(4.5) [1] 4
الإشارة: قد تكون وظيفة round في R معروفة بأنها قد "تخلي عن الخمس" في بعض الحالات.
عندما يكون العدد صحيحًا، يتم التخلي عن الصفر، مما يختلف عن لغة C.
وظائف الجبر في R هي بنظام الوحدات
> sin(pi/6) [1] 0.5 > cos(pi/4) [1] 0.7071068 > tan(pi/3) [1] 1.732051
الوظائف العكسية للزاوية:
> asin(0.5) [1] 0.5235988 > acos(0.7071068) [1] 0.7853981 > atan(1.732051) [1] 1.047198
إذا كنت قد درست الإحصاء والرياضيات، يجب أن تكون على دراية بالوظائف التوزيعية التالية، لأن لغة R مصممة للعاملين في الرياضيات، لذا يتم استخدامها غالبًا:
> dnorm(0) [1] 0.3989423 > pnorm(0) [1] 0.5 > qnorm(0.95) [1] 1.644854 > rnorm(3, 5, 2) # ينتج 3 عشوائيات ذات متوسط 5، وتباين 2 [1] 4.177589 6.413927 4.206032
كلها تستخدم لحساب التوزيعات العادية. تنتهي أسماؤها بـ norm، مما يعني "التوزيع العادي".
يوجد أربعة أسماء مسبقة لمصطلحات التوزيعات:
d - وظيفة دالة كثافة التردد
p - وظيفة دالة كثافة التردد (الترميز من الصفر إلى x)
q - وظيفة قسط
r - وظيفة عدد عشوائي (تستخدم غالبًا في المحاكاة الإحصائية)
التعليق: نظرًا لأن هذا الدليل ليس دليلاً يشرح النظريات الرياضية المتعلقة بالتوزيعات الإحصائية، فإنه لا يقدم تفسيرًا مفصلًا للنظريات الرياضية المتعلقة بتوزيعات الإحصائية. بالإضافة إلى وظائف التوزيعات العادية، يحتوي لغة R أيضًا على وظائف التوزيعات الشائعة مثل التوزيع البويسون (pois، Poisson) ويمكنك تعلم المزيد عنها من خلال دراسة "الإحصاء والرياضيات".