Professional Documents
Culture Documents
تطـبيقات إحصــائية
في لـغـة الـبـرمـجـــة R
المستوى األول
إعداد
1
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
2
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مقدمة
Rهي أقوى لغة برمجة في العالم للحوسبة اإلحصائية ،والتعلم
اآللي والرسومات .وقد صدرت أول نسخة مستقرة منها عام ،0222ثم
تطورت بسرعة لتصبح لغة البرمجة الرئيسية في مجال االحصاءات
والبيانات العلمية.
تعريف لغة :R
Rمن البرمجيات الحرة والمصممة للحوسبة اإلحصائية المفتوحة
المصدر .وتستخدم بشكل واسع بين اإلحصائيين لتطوير البرامج
اإلحصائية وتحليل وتمثيل البيانات والقيام بالعمليات الحسابية والرسوم
البيانية.
مميزات لغة :R
تتميز لغة الـ Rببساطتها اذ أنها لغة سكريبت فال تحتاج لكتابة
دالة دخول كما هو في لغات البرمجة الكالسيكية .حيث يعتبر أول سطر
هو أول أمر ،وفيما يلي مميزات اخرى للغة البرمجة :R
.1متوفرة في موقع مجاني ومفتوح المصدر لغرض تنصيبها على
الكمبيوتر ،أي متاحة للجميع.
.0تعمل مع عدة أنظمة تشغيل مثل نظام لينوكس ويونكس وماك
وويندوز.
3
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
4
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
5
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
المتغيرات في :R
هي البيانات التي تتغير قيمتها حسب الحاجة ،وتستخدم
المتغيرات لتخزين البيانات وتكون أسماؤها فريدة (للدوال أو األشياء)،
ولها األنواع التالية :عددية – numericعددية معقدة - complex
نصية – characterمنطقية - logicalخاصة .special
يعتبر Rبشكل افتراضي كل األعداد التي نقوم بإدخالها ثنائية
doubleحتى نقوم نحن بتحديد ما إذا كنا نريدها صحيحة ،وإلنشاء
متغير مثالً له قيمة معينة يخزن في الذاكرة ،حيث يمكن استدعائه عند
الحاجة يكون بالشكل التالي:
>y<-7 أو > x=2
6
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
الثوابت في :R
هي الكيانات التي ال يمكن تغييرها .وتعد األنواع األساسية من
الثوابت هي:
.1الثوابت الرقمية :وتشمل كل األرقام ،ويمكن أن تكون من نوع عدد
صحيح أو معقد ،والدالة )( typeofلمعرفة نوع الثابت ،ويعتبر
الثابت الرقمي الذي يليه الحرف Lعدد صحيح ،والذي يليه الحرف
iمعقد.
7
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
أسماء األشهر:
8
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
9
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
11
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
.4العبارة التعريفية :كل شيء بعد الرمز ( )#إلى نهاية السطر يعتبر
عبارة تعريفية أو تعليق للمستخدم ويتم تجاهله من قبل لغة .R
11
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
.6إن ناتج تنفيذ أي أمر أو دالة بلغة Rيظهر بعدها مباشرة ،وهكذا
تتكون جلسة العمل االعتيادية من تنفيذ لتتالي من األوامر والتعليمات
وصوالً إلى إنجاز العمل أو التحليل المطلوب.
.7يوفر Rآلية إلعادة تنفيذ األوامر السابقة وذلك باستخدام مفاتيح
األسهم على لوحة المفاتيح حيث يمكن أن تستخدم للتنقل إلى األمام
والخلف من خالل األوامر السابقة االستخدام ،كما يمكن للمؤشر أن
ينتقل ضمن األوامر باستخدام مفاتيح األسهم األفقية ،واألحرف
يمكن إزالتها مع مفتاح DELأو إضافتها من مفاتيح أخرى .كما
يمكن باستخدام أزرار األسهم إلى األعلى وإلى األسفل التنقل عبر
مجموعة األوامر التي تم تنفيذها.
12
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
13
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
14
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
15
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
16
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
17
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال:
> 3==4 > 3>4 > TRUE&FALSE
[1] FALSE [1] FALSE [1] FALSE
> 3!=4 > 3<=4 > TRUE|FALSE
[1] TRUE [1] TRUE [1] TRUE
> 3<4 > 3>=4 > !TRUE
[1] TRUE [1] FALSE [1] FALSE
ملحظة :إن أي سطر ندخل فيه التعليمات في لغة Rيبدأ بـ < أما سطر
النتائج فيبدأ بـ [ رقم النتيجة ] وذلك ألن التعليمة قد تعطي أكثر من
نتيجة واحدة.
19
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
األشعة (املتجهات)
األشعة Vectorsفي Rهي عبارة عن عدة كائنات لها نفس
النوع ومخزنة بترتيب محدد .فمثالً يمكن تعريف شعاع (متجه) xفيه
القيم 3,4,5بالشكل:
(x<-c)5,4,3
حيث يرمز الحرف cإلى الكلمة concatenateوالتي تعني "تسلسل".
شعاع (متجه) رقمي :double
21
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
21
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التابع :seq
)seq(from,to,by له الشكل العام اآلتي:
وهو تابع يستخدم لتوليد متتالية من األرقام من fromإلى to
وبخطوة ،byفلو أردنا مثالً توليد المتتالية19 16 13 12 7 4 1 :
08 05 00نكتب أحد التعليمتين اآلتيتين:
22
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
23
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التابع :log10
له الشكل العام اآلتيlog10(x) :
ويعطي اللوغاريتم العشري
التابع :log
)log(x,base=y له الشكل العام اآلتي:
ويعطي اللوغاريتم ذو األساس yلـ.x
24
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التابع :rep
)rep(x,each له الشكل العام اآلتي:
وهو تابع تكرار العناصر حيث أن xهو العنصر أو الشعاع
المراد تك ارره ،و eachهو عدد مرات التكرار .فمثالً لتوليد العناصر:
25
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
26
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
27
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
28
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
29
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
31
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال:
-امأل الشعاع xبالقيم :
8,4,3,6,0,9,11
-أوجد حجم الشعاع . x
-أوجد العنصر الخامس من الشعاع . x
-أوجد الفرق بين عناصر الشعاع . x
31
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
32
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
33
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
34
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
-
35
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
36
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
37
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
-قم بتوليد الشعاع zبحيث تكون عناصره هي نواتج طرح الرقم 1من
عناصر الشعاع .x
38
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
-قم بتوليد شعاع بحيث تكون عناصره ناتجة عن رفع عناصر الشعاع
yلقوة مقابالتها في الشعاع .x
التعليمة :subset
يمكن استخدامها للوصول إلى بيانات الشعاع التي تحقق شرطاً
)subset(object, condition محدداً ،ولها الشكل:
فمثالً إذا أردنا عرض بيانات الشعاع xالتي هي أكبر من 5
والتي هي من مضاعفات العدد 4نكتب:
39
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
41
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
املصفوفات
يمكن تعريف مصفوفة Matrixعناصرها elementsمكونة
من nrowسط اًر و ncolعموداً بالشكل:
)matrix(elements,nrow,ncol
41
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
42
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
43
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
44
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
الوظيفة الدالة
الحصول على عناصر القطر الرئيسي
)diag(A
للمصفوفة A
أخذ السطر رقم rمن مصفوفة A ] A[r ,
أخذ العمود رقم cمن المصفوفة A ]A[ , c
إضافة شعاع Xكسطر جديد للمصفوفة A )rbind(A,X
إضافة شعاع Xكعمود جديد للمصفوفة A )cbind(A,X
توليد مصفوفة قطرية قطرها الشعاع X
)diag(X
وباقي العناصر أصفار
45
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
46
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
47
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
48
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
ِّ
وسمه .z
-أنشئ شعاع يمثل عناصر القطر الرئيسي للمصفوفة ّ x
49
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التعليمة :apply
للتعليمة applyالشكل العام اآلتي:
)apply(a,row_or_column,statement
يمثل الوسيط األول المصفوفة ،أما الوسيط الثاني فيأخذ إما 1للداللة
على التعامل مع األسطر أو 0للداللة على التعامل مع األعمدة ،والوسيط
الثالث نضع به التعليمة التي نريد تطبيقها على كافة األسطر أو األعمدة.
51
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
51
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
52
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
53
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
54
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
55
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
إطار البيانات
يمكن تعريف إطار البيانات Data Frameعلى أنه جدول
يحتوي عدة أسطر وعدة أعمدة حيث يمثل كل عمود نوع محدد من
البيانات وكل سطر بيانات فرد محدد كما في المثال اآلتي:
Name Married Age
Tony False 65
Samer True 52
Ali False 42
George False 32
إلدخال الجدول السابق في Data Frameنكتب:
57
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
58
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
59
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
نظرية االحتماالت
التوزيع الثنائي ):𝐵(𝑛,𝑝) (Binomial Distribution
تعطى دالة الكثافة االحتمالية للتوزيع الثنائي بالعالقة:
61
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
61
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :قم بتوليد عينة عشوائية حجمها 8تخضع للتوزيع السابق وسمها
.xواحسب متوسطها وتباينها.
مثال :ليكن متوسط عدد العمالء الذين يدفعون أقساط قروضهم في فرع
المصرف العقاري بين الساعة العاشرة والساعة الحادية عشرة هو 1,8
عميل بالدقيقة .والمطلوب :حساب احتمال أن يكون لدينا خالل الدقيقة
بين الساعة 10,53و ،10,54أحد الحاالت التالية:
.1عدم وجود أي عميل.
.0عميل واحد.
.3عميالن على األكثر.
.4على األقل عميالن.
.5أكثر من عميلين.
.6عدد العمالء الممكن تواجدهم خالل الدقيقة المحددة باحتمال .294
63
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :قم بتوليد عينة عشوائية حجمها 8تخضع للتوزيع السابق وسمها
.yواحسب متوسطها وتباينها.
مثال :إذا كان Xمتحوالً عشوائياً يعبر عن عدد الدقائق التي يقضيها
المتقاعد في صالة االنتظار لقبض الراتب ،ويخضع للتوزيع الطبيعي
العام ،وكان لدينا 1222متقاعد ،فإذا علمت أن متوسط عدد الدقائق
التي يقضيها المتقاعد في صالة االنتظار هو 172دقيقة ،وبانحراف
معياري 12دقائق ،والمطلوب:
-عدد المتقاعدين الذين تقل مدة انتظارهم عن 172دقيقة.
-عدد المتقاعدين الذين تزيد مدة انتظارهم عن 192دقيقة.
-عدد المتقاعدين الذين تتراوح مدة انتظارهم بين 162و.182
-أوجد االحتمال ).P(μ-2X μ+2
-أوجد االحتمال ).P(μ-3X μ+3
-أوجد قيمة Xالتي يكون عندها .P(X<x) = 0.5
65
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :قم بتوليد عينة عشوائية حجمها 42تخضع للتوزيع السابق وسمها
.zواحسب متوسطها وتباينها.
مثال:
-إذا كان ) Z~N(0,1أوجد ).P(Z<2.56
-إذا كان ) Z~N(0,1وإذا كان P(Z<a)=0.8289فأوجد قيمة .a
66
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
67
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
68
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
71
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
اختبارات الطبيعية
تستخدم هذه اختبارات الطبيعية Normality Testsفرضية
العدم القائلة تتوزع البيانات وفق التوزيع الطبيعي𝐻0 : 𝑋 ~ N(𝜇,𝜎2) :
مقابل عدم توزعها وفق التوزيع الطبيعي .وتوجد العديد من االختبارات
التي يمكن بواسطتها التأكد من توزع البيانات وفق التوزيع الطبيعي أهمها:
اختبار :Kolmogorov-Smirnov
ويمكن تطبيقه باستخدام Rبالشكل:
)ks.test(X,”pnorm”,mu,sigma
فإذا كانت P>0.05فإن البيانات تتوزع وفق التوزيع الطبيعي.
مثال :قم بتوليد 322قيمة عشوائياً ثم اختبر اعتداليتها.
اختبار :Shapiro-Wilk
ويمكن تطبيقه باستخدام Rبالشكل:
72
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
73
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :لتكن لدينا قياسات سكر الدم لمجموعة من المرضى الذين تم
عالجهم باستخدام دواء معين ،والمطلوب معرفة فيما إذا كان سكر الدم
74
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
76
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
77
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
78
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
95 percent confidence interval:
يقصد بالسطر الثالث أنه سيتم إظهار مجال ثقة لمتوسط عدد ساعات
النوم عند األطفال باحتمال .=95%
29.24842 36.95158
في السطر الرابع تم عرض مجال الثقة والذي كان [،29248.42
]36951.58والذي يعني أنه باحتمال ثقة %95في المجتمع األصلي
الذي سحبنا منه عينتنا سيكون متوسط عدد ساعات النوم عند األطفال
بين 29248.42و .36951.58
sample estimates:
السطر الخامس معناه :مقدرات العينة.
mean of x
السطر السادس يعني متوسط xوتم إظهاره في السطر السابع.
33.1
في السطر السابع تقدير متوسط المجتمع الذي سحبت منه العينة x
بـ 33122وهو يساوي متوسط العينة.
79
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
81
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :ولد 02قيمة عشوائياً وقسمها إلى مجموعتين aو bوطبق اختبار
بارتليت للتجانس.
81
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
82
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :ولد 022قيمة عشوائياً وقسمها إلى مجموعتين aو bوطبق اختبار
بارتليت للتجانس.
83
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
84
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
85
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
86
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :لتكن لدينا قياسات سكر الدم لمجموعتين من المرضى حيث تأخذ
المجموعة األولى الدواء Aوتأخذ المجموعة الثانية الدواءين :B
A 111 108 139 111 101 138 164 149 142
B 140 90 110 125 111 128 113 89 110
والمطلوب معرفة أي الدواءين هو األفضل.
87
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
t = 2.5477, df = 15.959, p-value = 0.0215
في السطر األول يعرض Rإحصائية االختبار المحسوبة tوعدد درجات
الحرية و( p-valueاحتمال الداللة) وقد كانت قيمته 0.02153وهي
أقل من 2925وبالتالي نرفض فرضية العدم التي تقول بعدم وجود
اختالف معنوي بين سكر الدم في كل من المجموعتين؛ أي يوجد اختالف
معنوي بين سكر الدم باستخدام العالج األول وسكر الدم باستخدام العالج
الثاني وذلك عند مستوى الداللة .%5
alternative hypothesis: true difference in means is not
equal to 0
السطر الثاني يخبرنا بأن الفرضية البديلة تنص على أن الفرق بين
متوسطي المجموعتين يختلف إحصائياً عن الصفر.
95 percent confidence interval:
يقصد بالسطر الثالث أنه سيتم إظهار مجال ثقة للفرق بين متوسطي
المجموعتين باحتمال .=95%
3.447788 37.663323
في السطر الرابع تم عرض مجال الثقة والذي كان [ ]3945,37966والذي
يعني أنه باحتمال ثقة %95في المجتمع األصلي الذي سحبنا منه عينتنا
سيكون الفرق بين المتوسطين ضمن المجال 3945و .37966
sample estimates:
mean of x mean of y
السطر الخامس معناه :مقدرات العينة .والسطر السادس يعني متوسط x
ومتوسط yوقد تم إظهار كل منهما في السطر السابع.
88
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
133.4444 112.8889
في السطر السابع تقدير متوسط المجتمع الذي سحبت منه العينة x
بـ 133944وتقدير متوسط المجتمع الذي سحبت منه العينة yبـ.110989
89
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :قمنا بتطبيق نظام حمية على عينة من النساء لمدة شهر وقمنا
بتسجيل أوزانهن قبل وبعد الحمية فكانت النتائج كما يلي:
قبل 65 66 60 59 60 74 63 69 65
بعد 62 62 59 58 54 67 58 60 62
والمطلوب معرفة فيما إذا كانت الحمية مجدية.
91
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
t = 7.2308, df = 8, p-value = 8.972e-05
في السطر األول يعرض Rإحصائية االختبار المحسوبة tوعدد درجات
الحرية و( p-valueاحتمال الداللة) وقد كانت قيمته 0.0000897وهي
أقل من 2925وبالتالي نرفض فرضية العدم التي تقول بعدم وجود
اختالف معنوي بين األوزان في كلتي الحالتين؛ أي يوجد اختالف معنوي
بين أوزان النساء قبل الحمية وأوزان النساء بعد الحمية وذلك عند مستوى
الداللة .%5
alternative hypothesis: true difference in means is not
equal to 0
السطر الثاني يخبرنا بأن الفرضية البديلة تنص على أن الفرق بين
المتوسطين يختلف إحصائياً عن الصفر.
95 percent confidence interval:
يقصد بالسطر الثالث أنه سيتم إظهار مجال ثقة للفرق بين المتوسطي
باحتمال .=95%
3.556775 6.887670
في السطر الرابع تم عرض مجال الثقة والذي كان [ ]3956,6989والذي
يعني أنه باحتمال ثقة %95في المجتمع األصلي الذي سحبنا منه عينتنا
سيكون الفرق بين المتوسطين ضمن المجال 3956و .6989
sample estimates:
mean of the differences
السطر الخامس معناه :مقدرات العينة.
والسطر السادس يعني متوسط الفروقات وقد تم إظهاره في السطر السابع.
91
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
5.222222
في السطر السابع تقدير متوسط الفرق بين أوزان النساء قبل وبعد الحمية
بـ ،5900وبالتالي الحمية مجدية ألن متوسط الفرق بين أوزان النساء قبل
وبعد الحمية والبالغ 5900هو فرق معنوي.
93
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
94
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
االرتباط واالحندار
معامل ارتباط بيرسون
:Pearson Correlation Coefficient
يستخدم معامل ارتباط بيرسون لدراسة وجود عالقة بين متغيرين
كميين Xو Yولقياس شدة هذه العالقة ،حيث يقع معامل االرتباط ضمن
المجال [ ]1,1-وكلما اقتربت قيمته المطلقة من الواحد دلنا هذا على أن
العالقة أقوى ،وكلما اقتربت قيمته المطلقة من الصفر تكون العالقة
ضعيفة ،واإلشارة الموجبة لمعامل االرتباط تدل على أن العالقة طردية،
أما اإلشارة السالبة فتدل على أن العالفة عكسية ،بعد حساب معامل
االرتباط Rيتم اختبار الفرضية:
𝐻1 : 𝑅 ≠ 0 مقابل: 𝐻0 : 𝑅 = 0
ونقوم بدراسة العالقة بين متغيرين X,Yوفق معامل ارتباط
بيرسون باستخدام التعليمة:
)cor.test(x,y
95
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
. 3أن تكون العالقة بين المتغيرين خطية (نتحقق من ذلك برسم مخطط
االنتشار).
. 4ثبات التباين Homoscedasticityحول خط االنتشار (يجب أن
يكون االنتشار على شكل سيجار تقريباً).
. 5عدم وجود قيمة شاذة.
. 6أن يكون حجم العينة يشكل %5على األقل من حجم المجتمع.
نكتب التعليمة:
96
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
الناتج:
97
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
ِّ
باستخدام ملحظة :يمكن إيجاد مصفوفة االرتباط ألكثر من شعاعين
نفس التعليمة ) cor(Aحيث أن Aهو متغير معرف على أنه matrix
كما يمكن إيجاد مصفوفة التغاير باستخدام التعليمة ).cov(A
98
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
99
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :أوجد معادلة االنحدار الخطي البسيط التي تمثل تأثير الطول على
الوزن باالعتماد على العينة اآلتية:
162 167 172 175 174 169 168 163الطول
الوزن 58 65 73 74 78 65 67 61
111
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
إن هذه المعادلة غير كافية إحصائياً ،لذلك يجب دراسة مدى
كفاءة هذه المعادلة بالتنبؤ ومدى جودتها ومعنويتها ،وهذا يتم بالشكل
اآلتي:
112
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
Residuals:
السطر األول يوضح أن المخرجات هي للبواقي ،Residualsأي الفرق
بين القيم الفعلية والقيم المتنبأ بها.
Min 1Q Median 3Q Max
-3.5766 -1.3266 -0.1358 1.4018 3.1546
يظهر في السطر الثالث على الترتيب أصغر باقي ،والربيع األول للبواقي
ووسيط البواقي ،والربيع الثالث للبواقي ،وأكبر باقي.
Coefficients: )|. Estimate Std. Error t value Pr(>|t
السطر الرابع يوضح أن المخرجات اآلتية هي معامالت النموذج.
113
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
(Intercept) -145.8510 31.9907 **-4.559 0.003854
يمثل السطر الخامس الحد الثابت من نموذج االنحدار وقيمته في مثالنا
𝛽0=−145.851بخطأ معياري 31999وإحصاء اختبار معنوية هذا
المعامل يخضع لتوزيع ستودينت وقيمته 𝑡=−4.559وهو معنوي كون
احتمال الداللة .𝑝−𝑣𝑎𝑙𝑢𝑒 = 0.003854 < = 0.05
x ***1.2688 0.1901 6.676 0.000547
يمثل السطر السادس المعامل 𝛽1الذي كانت قيمته 𝛽1=1.2688بخطأ
معياري 291921وإحصاء اختبار معنوية هذا المعامل يخضع أيضاً
لتوزيع ستودينت وقيمته 𝑡=6.676وهو معنوي كون احتمال الداللة
.𝑝−𝑣𝑎𝑙𝑢𝑒 = 0.000547 < = 0.05
Signif.codes:0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’0.1‘ ’ 1
في السطر السابع يبين Rلنا تفسيره لمعنوية المعامالت حيث يصطلح
Rالرمز *** للمعامالت ذات المعنوية العالية جداً (أي أن المعامل
معنوي عند 1باأللف) ،والرمز ** للمعنوية العالية (أي أن المعامل
معنوي عند ،)%1والرمز * للمعنوية العادية (أي أن المعامل معنوي
عند .)%5
Residual standard error: 2.546 on 6 degrees of freedom
السطر الثامن يبين الخطأ المعياري للبواقي والذي قد كان 09546بـ 6
درجات حرية.
Multiple R-squared: 0.8813, Adjusted R-squared:
0.8616
114
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
115
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
مثال :أوجد معادلة االنحدار الخطي المتعدد التي تمثل تأثير الطول
وسكر الدم على الوزن باالعتماد على العينة اآلتية:
الوزن 72 82 62 75 62 59 92
الطول 170 178 160 175 167 163 172
سكر الدم 113 108 122 119 89 94 165
116
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
إن هذه المعادلة غير كافية إحصائياً ،لذلك يجب دراسة مدى
كفاءة هذه المعادلة بالتنبؤ ومدى جودتها ومعنويتها ،وهذا يتم بالشكل
اآلتي:
117
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
Residuals:
يوضح السطر األول أن المخرجات هي للبواقي ،Residualsأي الفرق
بين القيم الفعلية والقيم المتنبأ بها.
1 2 3 4 5 6 7
-0.963 0.063 -0.582 0.122 0.899 0.163 0.297
يظهر في السطر الثالث قيم البواقي عند كل مشاهدة.
)|Coefficients: Estimate Std. Error t value Pr(>|t
السطر الرابع يوضح أن المخرجات اآلتية هي معامالت النموذج.
118
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
**(Intercept) -65.43125 9.28691 -7.046 0.002139
x1 ***0.54252 0.05879 9.228 0.000766
x2 0.38125 0.01354 ***28.160 9.46e-06
يظهر في كل من السطر الخامس والسادس والسابع قيم المعامالت
وخطأها المعياري وإحصائية اختبارها ومعنويتها على الترتيب ،ونالحظ
في مثالنا أن كافة المعامالت معنوية.
Signif. codes: 0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘ ’1
السطر الثامن يبين Rلنا تفسيره لمعنوية المعامالت.
Residual standard error: 0.7431 on 4 degrees of
freedom
السطر التاسع يبين الخطأ المعياري للبواقي والذي قد كان 297431بـ 4
درجات حرية.
Multiple R-squared: 0.9974, Adjusted R-squared:
0.9961
السطر العاشر يبين قيمة معامل التحديد .𝑅2=0.9974
كما يبين السطر نفسه قيمة معامل التحديد المعدل والذي بلغ في نموذجنا
Adjusted R2 = 299961وهو الذي نعتمده كون االنحدار متعدد،
ويعني بمثالنا أن 99961%من التغير في الوزن هو بسبب التغير في
الطول وسكر الدم ،أو أن الطول وسكر الدم يفسران 99961%من التغير
في الوزن.
119
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
F-statistic: 762 on 2 and 4 DF, p-value: 6.853e-06
يظهر السطر الحادي عشر اإلحصائية العامة عن معنوية النموذج حيث
بلغت قيمة إحصاء االختبار 𝐹=762بدرجتي حرية للبسط وأربع درجات
حرية للمقام وبمعنوية 𝑝-vlaue < 0.05أي أن النموذج الخطي المقترح
هو نموذج معنوي.
وفي النهاية نستطيع كتابة معادلة االنحدار الممثلة لمثالنا بالشكل:
Y = -65.43125 + 0.54252 X1 + 0.38125 X2
111
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
111
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
)if(condition1
{
statements1
)} else if (condition2
{
statements2
)} else if (condition3
…
ملحظة :الرمز +في بداية األسطر من الثالث إلى األخير تعني أن
التعليمة لم تنته ،وهنا يجب أن نشير إلى أنه علينا أال نكتب elseإال
بجوار القوس وال نفردها بسطر وحدها وإال اعتبرت Rأن الكود انتهى.
112
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التابع :ifelse
وهو تابع يفحص العبارة المنطقية conditionفإذا كانت
نتيجتها TUREينفذ التعليمة Xوإذا كانت نتيجتها FALSEينفذ
التعليمة .Yوللتابع ifelseالشكل العام اآلتي:
)ifelse(condition,x,y
مثال :إذا كان العدد زوجي في الشعاع aفليكتب evenوإذا كان فردي
فليكتب .odd
العبارة :Switch
للتعليمة switchالشكل العام اآلتي:
)switch(statement, list
حيث يتم إرجاع قيمة من القائمة listباالعتماد على قيمة
،statementفمثالً:
)"> switch(2,"red","green","blue التعليمة
الناتج ""green
113
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التعليمة
)>switch("color","color"="red","shape"="square","length"=5
الناتج ""red
مثال :احسب عدد االرقام الزوجية في الشعاع التالي .حيث أنه في المثال
أدناه لدينا 7أرقام في الشعاع ،xأخذنا المتغير countليكون عداد
لحساب عدد األرقام الزوجية باختبار باقي القسمة على 0إذا كان الناتج
صفر فالعدد هو رقم زوجي ،وبذلك أصبح الناتج .3
114
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
115
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
116
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
117
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
118
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
119
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
التعليمتان breakو:next
تستخدم التعليمة breakضمن حلقة تكرار إليقافها عند تحقق
شرط محدد ،والبرنامج اآلتي يطبع األعداد من 1إلى 12ويتوقف عن
الطباعة عند أول عدد زوجي من مضاعفات العدد :3
121
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
حلقة :repeat
وهي حلقة يجب استخدام التعليمة breakمعها حص اًر إليقاف
تنفيذها ،ولها الشكل العام اآلتي:
repeat
{
Statements
}
121
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
122
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
.0الحلقة whileتكرر
التعليمات
طالما Statements
التنفيذ شرط أن
Conditionمحقق.
123
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
124
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
125
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
بعض الكتب والمؤلفات واألبحاث المنشورة وقيد النشر:
أوالا :في المجال االقتصادي:
.1المعرفة والفوضى في العالم.1002 ،
.1التعددية السياسية واالقتصادية في مشروع الدستور الجديد.1011 ،
.3الدليل الس ـ ـ ـريع إلى تصـ ـ ــميم الد ارسـ ـ ــات اإلحصـ ـ ــائية (االسـ ـ ــتبيانات)،
.1011
.4طروحات اقتصادية في ظل الحرب على سورية.1011-1011 ،
.2تطبيقات حاسـ ــوبية في العلوم االقتصـ ــادية باسـ ــتخدام برنامج ،Excel
.1012
.2تطبيقات في االقتصاد القياسي باستخدام برنامج .1010 ،EViews
.7الدليل الس ـ ـ ـريع إلى تصـ ـ ــميم الد ارسـ ـ ــات اإلحصـ ـ ــائية (االسـ ـ ــتبيانات)،
.1011
.8االقتصاد السياحي ،قيد النشر.
ثاني ا :في المجال األدبي:
نبض لصفصاف الفضاء -شعر .1011ٌ .1
.1مناجاة مع قائد األمة -نثر .1014
.3نهر العسل -نثر قيد النشر.
.4رنين الصفاء -خواطر نثرية قيد النشر.
ثالث ا :في المجال السياسي:
.1إعالء كلمة الحق بين التأييد اإللهي وحكمة القائد.1011 ،
.1وعي الشباب في مواجهة التكفير واإلرهاب.1011 ،
.3الوحدة الوطنية ..شعار القائد والشعب.1011 ،
.4الحرية الفاصلة بين تآمر العمالء وإخالص الشرفاء.1011 ،
126
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
.2دور رجال الدين في مواجهة التحديات واألزمات.1011 ،
.2عالئم النصر في ممانعة الفوضى ومقاومة اإلرهاب.1011 ،
.7تجليات الحكمة عند القائد بشار حافظ األسد.1014 ،
.8دعوات اإلرهاب التكفيري امتداد للتلمود الصهيوني.1012 ،
.2الدور المقاوم في مواجهة التطبيع (سورية أنموذجاً).1010 ،
.10مجزرة المدفعية ..ش اررة الفتنة األولى لإلخوان المسلمين.1011 ،
.11تسييس الدين في الحروب -قيد النشر.
رابع ا :في المجال العسكري:
.1القتال في المدن :مواجهة العصابات اإلرهابية المسلحة وأهم المهارات
والخبرات التي اكتسبها الجيش العربي السوري.1017 ،
خامس ا :في المجال الديني:
.1نور الهداية ألهل الوالية.1007 ،
.1لقاءات وحوارات مع الباحث الديني العلوي.1012 ،
.3حوار مع عالمة الجيل واإليضاح اللطيف.1012 ،
.4اإلمام المهدي المنتظر في مواجهة مشاريع حرب القيامة.1011 ،
.2الضربة النصيرية لمزاعم البدعة اليمانية.1011 ،
.2المدقق في الكالم المحقق -قيد التحضير.
127
د .أحمد أديب أحمد تطبيقات إحصائية في لغة البرمجة R
الفهرس
الصفحة الموضوع
3 مقدمة
5 الكائنات وبعض المالحظات حول R
12 بعض األوامر الخاصة في لغة البرمجة R
15 تعليمات عامة في لغة البرمجة R
17 العمليات الحسابية والمنطقية
02 األشعة (المتجهات)
41 المصفوفات
56 إطار البيانات
62 نظرية االحتماالت
67 مستويات القياس واختبار الفرضيات
71 اختبارات الطبيعية
74 اختبارات العينة الواحدة
82 اختبار تجانس التباينات
86 اختبارات المقارنة بين المتوسطات
95 االرتباط واالنحدار
111 العبارات الشرطية والتك اررية والتوابع
105 السيرة الذاتية للمؤلف
128