rep () في R: فك تشفير وظيفة النسخ المتماثل
نشرت: 2020-06-15قبل أن نتحدث عن مندوب في R ، يجب أن نعرف ما هو التكرار. مصطلح التكرار يعني التكرار. كما هو الحال في معظم لغات البرمجة الأخرى ، تعد الحلقات التقليدية أو التكرار جانبًا أساسيًا في R.
في حين أن الحلقات المنتظمة هي نهج فعال لإدارة البيانات ، إلا أنها مكلفة لسبب وحيد هو أن التكرار هو الذاكرة ويستغرق وقتًا طويلاً. البديل الجيد هو استخدام الأساليب الموجهة التي يمكن أن تحقق نفس أهداف التكرار ؛ الدالة rep () هي عضو في إحدى هذه الوظائف الحلقية الموجهة.
جدول المحتويات
ما هي وظيفة مندوب ()؟
بعبارات بسيطة ، تكرر الدالة rep في R أو rep () القيم الرقمية أو النص أو قيم المتجه لعدد معين من المرات. الوظيفة () هي عضو في مجموعة وظائف التطبيق () للحزمة الأساسية R. تحتوي عائلة application () على وظائف مستخدمة لمعالجة البيانات من المصفوفات والمصفوفات وإطارات البيانات والقوائم بشكل متكرر.
تتفادى دوال التطبيق () استخدام بنيات الحلقة للعمل على المصفوفات أو المصفوفات أو قوائم الإدخال وتطبيق دالة مسماة مع وسيطات اختيارية. يمكن أن تكون الوظيفة التي تم استدعاؤها دالة تجميعية أو وظيفة تحويل أو وظائف متجهة مثل المصفوفات والمتجهات والقوائم والمصفوفات. تحقق من دورات علوم البيانات الخاصة بنا لمعرفة المزيد حول الوظائف.
اقرأ المزيد: إطارات البيانات في بايثون: دروس بايثون التفصيلية
الحسابات الموجهة مقابل التكرارات
بدلاً من العمل على العناصر الفردية للتسلسل ، تعمل الطرق الموجهة على جميع مكونات المتجه في وقت واحد. وبالتالي ، فإن الحسابات الموجهة دائمًا تجلب نتائج أسرع.
لتوضيح سرعة العمليات الحسابية الموجهة ، سنستخدم مثالًا يحدد الوقت المنقضي في حلقة for () لتوليد متجه كبير. في المثال ، يتم حساب كل عنصر بالتسلسل كمجموع تراكمي تزايدي من 1 إلى N (حيث N = 10000000). يتم إجراء مقارنة بين تكرار حلقة for () والدالة المتجهة من خلال اختبارات السرعة.

مصدر
عند مقارنة نتائج اختبارات السرعة ، يتضح أن الوقت المنقضي للحساب المتجه (اختبار السرعة 2) أسرع بكثير من حلقة for (). في الوقت الذي يستغرقه مرور واحد من الحلقة التكرارية ، يمكن تكرار الحساب المتجه 278 مرة.
كرر مقابل وظيفة النسخ المتماثل
يتم استخدام وظيفة أو حلقة التكرار في R عندما نريد تنفيذ نفس كتلة التعليمات البرمجية بشكل متكرر حتى يتم استيفاء شرط معين. إنه مشابه جدًا لحلقة for and while التي تنفذ بشكل متكرر كتلة أوامر حتى الفاصل. الصيغة الأساسية لإنشاء حلقة متكررة هي:
كرر {
إذا (الحالة) {
استراحة
}
}
سيوضح المثال التالي استخدام وظيفة التكرار:


في المثال أعلاه ، تلخص حلقة التكرار القيمة حتى تصل إلى 6. بمجرد أن تصل الحلقة إلى 6 ، تنفصل الحلقة عن طريق طباعة "تنتهي حلقة التكرار".
من ناحية أخرى ، يتم استخدام وظيفة النسخ المتماثل أو مندوب في R لنسخ القيم. بناء جملة R الأساسي لاستخدام وظيفة rep () هو:
- مندوب (القيمة ، number_of_times)
- مندوب (تسلسل ، كل ، number_of_times)
فيما يلي بعض الأمثلة لفهم وظيفة rep ():
مثال: استخدام الدالة rep () لتكرار القيم لعدد معين من المرات



في المثال أعلاه ، تتكرر القيمة 2 عشر مرات.
مثال: استخدام الدالة rep () مع سمة الطول

في المثال أعلاه ، تتم طباعة 1 إلى 4 بالتسلسل حتى يصل عدد العناصر إلى 20.
مثال: استخدام وظيفة rep () لتكرار قائمة

في المثال أعلاه ، تم تكرار قائمة التصنيف من 1 إلى 5 ثلاث مرات.
مصدر
استخدام دالة rep () لتوسيع متجه
وظيفة rep () هي طريقة مرنة لتكرار متجه. وفيما يلي بعض الأمثلة أكثر:

في حالة احتياجنا إلى توسيع متجه إحصائي للوحدات التجريبية / وحدات المراقبة إلى متجه لإطار البيانات مع الملاحظات المتكررة للوحدات ، فإن كل حجة تأتي في متناول اليد. مثال:

ميزة أخرى لـ rep () هي أنه يمكن للمتجه أن يتوسع إلى لوحة غير متوازنة عن طريق استبدال وسيطة الطول بمتجه يحدد عدد المرات التي سيتكرر فيها كل عنصر في المتجه. مثال:

تتضمن الإصدارات الأبسط والأسرع لوظيفة rep rep_len () و rep.int (). تأتي هذه الإصدارات الأحدث بدون بعض سمات rep () ولكنها تثبت فائدتها في الحالات التي تكون فيها السرعة أساسية وتكون الجوانب الإضافية للناقل المتكرر غير مرغوب فيها.

مصدر
قراءة: 6 أفكار مشروع R مثيرة للاهتمام للمبتدئين
خاتمة
في هذه المقالة ، ناقشنا وظائف التكرار والنسخ المتماثل مع أمثلة مناسبة. في حين أن التكرارات التقليدية مفيدة للتنفيذ المتكرر لكتل من التعليمات البرمجية ، فإن المندوب في R مثالي لتكرار قيم متجه أو قائمة. فعالة وموفرة للوقت ، لقد قامت وظيفة rep () بتبسيط تكرار المتجهات!
إذا كنت مهتمًا بالتعرف على R وعلوم البيانات ، فراجع برنامج IIIT-B & upGrad التنفيذي PG في علوم البيانات والذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، وجهاً لوجه مع موجهين في الصناعة ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.
كيف يمكنني إنشاء متجه بقيم متكررة في R؟
يمكن استخدام دالة rep () في R لتكرار سلسلة من الأعداد الصحيحة. في R ، هناك طريقتان لإنشاء متجه بقيم متكررة ؛ الطريقة الأولى تكرر كل عنصر في المتجه ، بينما الطريقة الثانية تكرر العناصر بعدد معين من المرات. يتم إنشاء المتجهات باستخدام وظيفة rep في كل من هذه الأساليب. على سبيل المثال ، مندوب (1: 5 ، مرات = 5) يعطي متجهًا بالتسلسل من 1 إلى 5 يتكرر 5 مرات.
ما الوظيفة الأسرع- Replicate أم For Loop؟
في لغة البرمجة R ، تكون وظيفة الحلقة For أسرع من وظيفة النسخ المتماثل. حلقة for-loop هي تقنية للتكرار على قائمة القيم بلغات البرمجة المختلفة عن طريق تشغيل كود لكل قيمة في القائمة. rep () هي دالة حلقات متجهية هدفها الوحيد هو التشغيل دون إضاعة الذاكرة. عندما تحتاج إلى تغيير جزء من إطار بيانات موجود ، فإن For Loop هو الخيار الأفضل عادةً.
كيف يمكنني تسريع أكواد R؟
بعض الطرق لتسريع أكواد R مذكورة أدناه: -
1. قبل وضع هياكل البيانات ومتغيرات الإخراج في حلقة من أجل العمليات الحسابية ، تأكد من أنها الطول المناسب ونوع البيانات. داخل الحلقة ، حاول عدم توسيع كمية البيانات بشكل تدريجي.
2. عندما يكون ذلك ممكنًا ، استخدم مصفوفة بدلاً من إطار البيانات ، حيث يمكن لإطارات البيانات أن تخلق مشاكل في العديد من المواقف. نتيجة لذلك ، استخدم فقط إطارات البيانات عندما تكون ضرورية للغاية.
3. عند الإمكان ، استخدم عمليات المتجه والمصفوفة.
4. في R ، لا تغير نوع الكائن أو حجمه. يؤدي تغيير نوع وحجم كائن R إلى إعادة تخصيص مساحة الذاكرة ، وهو أمر غير ملائم افتراضيًا.
