كيفية رسم خط الانحدار حسب المجموعة باستخدام ggplot2
يمكننا استخدام الصيغة التالية لرسم خط انحدار المجموعة باستخدام حزمة تصور R ggplot2 :
ggplot(df, aes (x = x_variable, y = y_variable, color = group_variable)) + geom_point() + geom_smooth(method = " lm ", fill = NA )
يقدم هذا البرنامج التعليمي مثالاً سريعًا لكيفية استخدام هذه الوظيفة عمليًا.
مثال: رسم خطوط الانحدار حسب المجموعة باستخدام ggplot2
لنفترض أن لدينا مجموعة البيانات التالية التي توضح المتغيرات الثلاثة التالية لـ 15 طالبًا مختلفًا:
- عدد الساعات المدروسة
- تم الحصول على درجة الامتحان
- أسلوب الدراسة المستخدم (إما A أو B أو C)
#create dataset df <- data.frame(hours=c(1, 2, 3, 3, 4, 1, 2, 2, 3, 4, 1, 2, 3, 4, 4), score=c(84, 86, 85, 87, 94, 74, 76, 75, 77, 79, 65, 67, 69, 72, 80), technique= rep (c(' A ', ' B ', ' C '), each = 5 )) #view dataset df hours technical score 1 1 84 A 2 2 86 A 3 3 85 A 4 3 87 A 5 4 94 A 6 1 74 B 7 2 76 B 8 2 75 B 9 3 77 B 10 4 79 B 11 1 65 C 12 2 67 C 13 3 69 C 14 4 72 C 15 4 80 C
يوضح الكود التالي كيفية رسم خط الانحدار الذي يصور العلاقة بين ساعات الدراسة ودرجة الامتحان لكل من تقنيات الدراسة الثلاثة:
#load ggplot2 library (ggplot2) #create regression lines for all three groups ggplot(df, aes (x = hours, y = score, color = technique)) + geom_point() + geom_smooth(method = " lm ", fill = NA )
لاحظ أنه في Geom_smooth() استخدمنا الطريقة = ‘lm’ لتحديد الاتجاه الخطي.
يمكننا أيضًا استخدام طرق تجانس أخرى مثل “glm” أو “loess” أو “gam” لالتقاط الاتجاهات غير الخطية في البيانات. يمكنك العثور على الوثائق الكاملة لـ Geom_smooth() هنا .
لاحظ أنه يمكننا أيضًا استخدام أشكال مختلفة لعرض نتائج الامتحانات لكل مجموعة من المجموعات الثلاث:
ggplot(df, aes (x = hours, y = score, color = technique, shape = technique)) +
geom_point() +
geom_smooth(method = " lm ", fill = NA )
يمكنك العثور على المزيد من دروس ggplot2 هنا .