إتقان حلقة for لتبسيط العمليات الحسابية المعقدة والعمليات المتكررة الأخرى.
الحلقات هي بنية أساسية في البرمجة تأخذ كتلة من التعليمات البرمجية وتقوم بتشغيلها بشكل متكرر. حلقات For هي أحد أنواع الحلقات التي تحتوي عليها جميع اللغات تقريبًا. حلقات R هي جزء لا يتجزأ من تحليل البيانات.
إنها تخدم مجموعة متنوعة من الأغراض ، من تنسيق الإخراج إلى تشغيل العمليات الحسابية على مجموعات البيانات الكبيرة. يؤدي استخدام حلقات for في R إلى تسهيل إجراء تحليل البيانات.
R's Basic for Loop
تعمل لغة R بشكل مشابه للمعيار للحلقات الموجودة في Go ومعظم لغات البرمجة الأخرى. نظرًا لنقطة البداية ، سيتم تشغيل الكود الموجود بداخله لعدد معين من المرات.
يحتفظ العداد بالتكرار الذي تعمل به الحلقة حاليًا ، ويمكنك الوصول إليها من كتلة التعليمات البرمجية المرتبطة. يمكن تشغيل الحلقات لعدد ثابت من التكرارات ، أو لإجمالي طول مصفوفة أو متجه أو قائمة.
حلقات التكرار الثابتة
حلقات التكرار الثابتة في R تأخذ الشكل التالي:
ل (x في1:10) {
طباعة (x)
}
إن x في الحلقة هو المتغير الذي سيخزن تكرار الحلقة.
بعد الكلمة الرئيسية "in" هي نقطتا البداية والنهاية للحلقة. ستبدأ الحلقة في مكررها من الرقم الأول.
بعد كل مرة يتم تشغيل الكود في الحلقة ، سيتحقق مما إذا كان المكرر مساويًا للرقم بعد النقطتين.
إذا كان الأمر كذلك ، فسيستمر تنفيذ الكود بعد الحلقة. إذا لم يكن كذلك ، فسيزيد المكرر بمقدار 1 ، وسيتم تشغيل كتلة التعليمات البرمجية بين الأقواس مرة أخرى.
للحلقات على المصفوفات والقوائم والمتجهات
تماما مثل التنقل خلال قاموس بلغة بايثون، يمكنك التكرار على هياكل البيانات المناسبة في R باستخدام حلقة for. يمكنك استخدام أي بنية بيانات قابلة للتكرار بعد الكلمة الأساسية "in" ، بدلاً من نقطة بداية ونهاية ثابتة.
سيؤدي التكرار بهذه الطريقة إلى تغيير سلوك الكود. هنا ، ستعمل الحلقة مثل حلقة foreach من لغات مثل C #:
موظفين "بن", "جين", "سوزي", "جوش", "كارول")
ل (x في موظفين) {
طباعة (x)
}
الآن ، بدلاً من احتفاظ x بالتكرار الحالي للحلقة ، سيحتفظ بالكائن من المصفوفة أو القائمة التي تعمل بها الحلقة حاليًا. بعد اكتمال كل حلقة ، إذا كان هناك المزيد من العناصر في القائمة ، أو المصفوفة ، أو المتجه ، فسيتم تعيين x على العنصر التالي. إذا لم يكن هناك المزيد من العناصر ، فسيستمر التنفيذ مع الكود بعد الحلقة.
الوظيفة البدائية c والحلقات
بالإضافة إلى هياكل البيانات المأهولة بالفعل ، يمكن لـ R تكوين بنية جديدة في إعلان الحلقة for. للقيام بذلك ، استخدم الدالة c لدمج عدة عناصر في متجه جديد.
يمكنك تبسيط المثال أعلاه باستخدام هذه الطريقة:
ل (x في ج ("بن", "جين", "سوزي", "جوش", "كارول")) {
طباعة (x)
}
لاحظ أن الإخراج هو نفسه تمامًا كما كان من قبل:
عبارات القفز R
تسمح لك عبارتان بتخطي تكرارات الحلقة: break and next. ينجزون هذا بطرق مختلفة. يجب عليك التأكد من معرفة الفرق بين الاثنين.
الكلمة الرئيسية الفاصل
عندما تواجه حلقة تعليمة كسر داخل نفسها ، فإنها تغلق الحلقة على الفور. نظرًا لأن البرنامج يخرج من الحلقة بمجرد وصوله إلى الكلمة الأساسية break ، فلن يقوم بتشغيل أي من التعليمات البرمجية المتبقية مرة أخرى:
أيام "الاثنين", "يوم الثلاثاء", "الأربعاء", "يوم الخميس", "جمعة", "السبت",
"الأحد")ل (x في أيام) {
لو (س == "السبت") {
استراحة
}
طباعة (x)
}
ستطبع الحلقة أعلاه جميع أيام الأسبوع ، ولكن لن تطبع أيًا من أيام نهاية الأسبوع.
الكلمة التالية
تتخطى الكلمة الرئيسية التالية أيضًا تكرارًا ، ولكن على عكس الفاصل ، فإن التالي لا يغلق الحلقة على الفور. الحلقة المتبقية مفتوحة تعني أن أي كود إضافي داخل الحلقة الحالية لن يعمل ، لكن التكرار التالي سيستمر كما هو مخطط:
أيام "الاثنين", "يوم الثلاثاء", "الأربعاء", "يوم الخميس", "جمعة", "السبت",
"الأحد")ل (x في أيام) {
لو (س == "السبت") {
التالي
}
طباعة (x)
}
سيتم إخراج هذه الحلقة كل يوم من أيام الأسبوع والأحد ، ولكنها لن تطبع يوم السبت.
مثال على الحلقات في R
هناك مجموعة متنوعة من المواقف التي تكون فيها حلقات for مفيدة في R. يمكن أن تكون طريقة رائعة لإجراء العمليات الحسابية المتكررة ، مثل جمع الأرقام للحصول على المجموع:
الطلبات 23.4, 699.8, 1042.0)
المجموع 0.0ل (طلب في طلبات) {
مجموع }
قطة("المجموع هو $"، المجموع، "\ن")
سيضيف هذا المثال إجمالي الطلب من كل طلب فردي في قائمة إلى الإجمالي الإجمالي.
بدلاً من ذلك ، يمكن أن تساعدك حلقة for في إخراج كميات كبيرة من البيانات المنسقة جيدًا بسرعة وسهولة:
مجاميع اليوم 567.82, 364.72, 762.81, 354.99, 622.87)
ل (يوم في1: length (day_totals)) {
قطة("يوم #"، يوم، ": $"، day_totals [day]،"\ن")
اليوم 1
}
يمكنك استخدام حلقة for لطباعة كل يوم من أيام الأسبوع وإجمالي المبيعات لذلك اليوم المحدد.
يمكنك استخدام حلقة for لحساب النتائج وإتاحتها للتعليمات البرمجية خارج حلقة for للحصول على مجموعة متنوعة من المعلومات:
درجات_الاختبار 67, 89, 72, 44)
Score_total 0
عدد_الاختبارات 0ل (نتيجة في درجات_الاختبار) {
Score_total num_tests 1
}
متوسط الدرجات طباعة (متوسط_درجات)
ستحسب الحلقة أعلاه متوسط الدرجات التي حققها الطلاب في الاختبار.
كل ما تحتاج لمعرفته حول R لـ Loops
من الضروري تعلم كيفية تشغيل عدد محدد من الحلقات أو التكرار عبر مجموعة بيانات بدون طول ثابت.
سواء كنت بحاجة إلى إجراء عمليات حسابية متكررة على مصفوفة ، أو طباعة كل عنصر في قائمة ، أو إظهار مجموعة كبيرة من البيانات في نموذج قابل للقراءة ، يمكن أن تساعدك R's for loop.
إن فهم المبادئ الأساسية وراء حلقات for هو مهارة قيمة يجب أن تمتلكها في ترسانتك ، ويمكن أن يساعدك إتقانها في كتابة تعليمات برمجية بسيطة وسهلة القراءة.