10 ميزات R مفيدة قد لا تعرفها

10 ميزات R مفيدة قد لا تعرفها

R مليء بمجموعة متنوعة من الوظائف. سأقدم أدناه عشرة من أكثرها إثارة للاهتمام والتي قد لا يعرفها الكثيرون. ظهر المقال بعد أن اكتشفت أن قصصي حول بعض ميزات R التي أستخدمها في عملي قد لاقت ترحيباً حاراً من زملائي المبرمجين. إذا كنت تعرف كل شيء عن هذا الأمر، فأنا أعتذر عن إضاعة وقتك. وفي الوقت نفسه، إذا كان لديك شيء تريد مشاركته، فاقترح شيئًا مفيدًا في التعليقات.

يوصي Skillbox بما يلي: دورة عملية "مطور بايثون".

نذكر: لجميع قراء "Habr" - خصم 10 روبل عند التسجيل في أي دورة Skillbox باستخدام رمز "Habr" الترويجي.

وظيفة التبديل

أنا حقا أحب التبديل (). في الواقع، يعد هذا اختصارًا مناسبًا لعبارة if عند تحديد قيمة بناءً على قيمة متغير آخر. أجد هذا مفيدًا بشكل خاص عندما أكتب تعليمات برمجية تحتاج إلى تحميل مجموعة محددة من البيانات بناءً على تحديد سابق. على سبيل المثال، إذا كان لديك متغير اسمه "حيوان" وتريد تحديد مجموعة معينة من البيانات اعتمادًا على ما إذا كان الحيوان كلبًا أو قطة أو أرنبًا، فاكتب ما يلي:

البيانات < - قراءة.csv(
التبديل (الحيوان،
"dog" = "dogdata.csv"،
"cat" = "catdata.csv"،
"الأرنب" = "rabbitdata.csv")
)

ستكون هذه الميزة مفيدة في تطبيقات Shiny حيث تحتاج إلى تحميل مجموعات بيانات أو ملفات بيئة مختلفة اعتمادًا على عنصر واحد أو أكثر من عناصر قائمة الإدخال.

مفاتيح الاختصار لRStudio

هذا الاختراق لا يتعلق بـ R بقدر ما يتعلق بـ RStudio IDE. ومع ذلك، فإن مفاتيح التشغيل السريع تكون دائمًا مريحة جدًا، مما يسمح لك بتوفير الوقت عند إدخال النص. مفضلاتي هي Ctrl+Shift+M لعامل التشغيل %>% وAlt+- لعامل التشغيل <-.

لعرض جميع مفاتيح التشغيل السريع، ما عليك سوى الضغط على Alt+Shift+K في RStudio.

حزمة لوحة القيادة المرنة

عندما تحتاج إلى تشغيل لوحة المعلومات اللامعة بسرعة، فلا يوجد شيء أفضل من حزمة لوحة المعلومات. فهو يوفر القدرة على العمل مع اختصارات HTML، والتي بدورها تجعل من السهل والخالي من المتاعب إنشاء أشرطة جانبية وصفوف وأعمدة. هناك أيضًا القدرة على استخدام شريط العنوان، والذي يسمح لك بوضعه على صفحات مختلفة من التطبيق، وترك الرموز، والاختصارات على Github، وعناوين البريد الإلكتروني وغير ذلك الكثير.

تتيح لك الحزمة العمل ضمن إطار Rmarkdown، بحيث يمكنك وضع جميع التطبيقات في ملف Rmd واحد، وعدم توزيعها عبر خوادم مختلفة وملفات واجهة المستخدم، كما يتم ذلك، على سبيل المثال، باستخدام Shinydashboard. أستخدم flexdashboard عندما أحتاج إلى إنشاء نموذج أولي بسيط للوحة المعلومات قبل العمل على شيء معقد. تتيح لك هذه الميزة إنشاء نموذج أولي خلال ساعة.

req والتحقق من صحة الوظائف في R Shiny

يمكن أن يكون التطوير في R Shiny مربكًا، خاصة عندما تستمر في تلقي رسائل خطأ غريبة تجعل من الصعب فهم ما يحدث. ولكن مع مرور الوقت، يتطور Shiny ويحسن، تظهر هنا المزيد والمزيد من الوظائف التي تسمح لك بفهم سبب الخطأ. لذلك، تحل req() المشكلة من خلال الخطأ "الصامت"، عندما لا يكون واضحًا ما يحدث بشكل عام. يسمح لك بعرض عناصر واجهة المستخدم المرتبطة بالإجراءات السابقة. دعونا نوضح بمثال:

الإخراج$go_button < — لامعة::renderUI({

# زر العرض فقط إذا تم اختيار إدخال الحيوان

لامعة::req(إدخال $ الحيوان)

#زر العرض

لامعة::actionButton("اذهب"،
لصق ("السلوك"، إدخال $ الحيوان، "التحليل!")
)
})

يتحقق validate() من كل شيء قبل العرض ويمنحك خيار طباعة رسالة خطأ - على سبيل المثال، أن المستخدم قام بتحميل الملف الخطأ:

# الحصول على ملف إدخال CSV

inFile < — الإدخال$file1
البيانات < - مسار البيانات $ inFile

# عرض الجدول فقط إذا كان كلابًا

لامعة::renderTable({
# تأكد من أنه ملف الكلاب وليس القطط أو الأرانب
لامعة::التحقق(
تحتاج ("اسم الكلب" %in% colnames(data)))،
"لم يتم العثور على عمود اسم الكلب - هل قمت بتحميل الملف الصحيح؟"
)

البيانات
})

مزيد من المعلومات حول كل هذه الميزات يمكن العثور عليها هنا.

تخزين بيانات الاعتماد الخاصة بك لنفسك في بيئة النظام

إذا كنت تخطط لمشاركة التعليمات البرمجية التي تتطلب منك إدخال بيانات الاعتماد، فاستخدم بيئة النظام لتجنب استضافة بيانات الاعتماد الخاصة بك على Github أو خدمة أخرى. موضع المثال:

سيستنف(
DSN = "اسم_قاعدة البيانات"،
UID = "معرف المستخدم"،
تمرير = "كلمة المرور"
)

يمكنك الآن تسجيل الدخول باستخدام متغيرات البيئة:

ديسيبل < - دي بي آي::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN")،
uid = Sys.getenv("UID")،
الأشخاص ذوي الإعاقة = Sys.getenv("PASS")
)

بل إنه أكثر ملاءمة (خاصة إذا كنت تستخدم البيانات بشكل متكرر) لتعيينها كمتغيرات بيئة مباشرة في نظام التشغيل. في هذه الحالة، ستكون متاحة دائمًا ولن تضطر إلى تحديدها في الكود.

أتمتة نظام الترتيب باستخدام الطراز

يمكن أن تساعدك حزمة الطراز في تنظيف التعليمات البرمجية الخاصة بك، فهي تحتوي على العديد من الخيارات لجلب نمط التعليمات البرمجية تلقائيًا إلى Tidyverse. كل ما عليك فعله هو تشغيل styler::style_file() على البرنامج النصي الذي به مشكلة. ستفعل الحزمة الكثير (ولكن ليس كل شيء) لاستعادة النظام.

تحديد مستندات R Markdown

لقد قمت بإنشاء مستند R Markdown الرائع الذي تقوم فيه بتحليل الحقائق المختلفة حول الكلاب. ثم يتبادر إلى ذهنك أنه سيكون من الأفضل القيام بنفس العمل، ولكن مع القطط فقط. لا مشكلة، يمكنك أتمتة عملية إنشاء تقارير القطط بأمر واحد فقط. للقيام بذلك، ما عليك سوى تحديد معلمات وثيقة تخفيض السعر R الخاصة بك.

يمكنك القيام بذلك عن طريق تعيين معلمات لرأس YAML في المستند المحدد، ثم تعيين معلمات القيمة.

- العنوان: "تحليل الحيوان"
المؤلف: "كيث ماكنولتي"
التاريخ: "21 مارس 2019"
انتاج:
html_document:
code_folding: "إخفاء"
المعلمات:
اسم_الحيوان:
القيمة: كلب
خيارات:
-كلب
-قطة
- أرنب
سنوات_الدراسة:
الإدخال: شريط التمرير
الحد الأدنى: 2000
الحد الأقصى: 2019
الخطوة 1
الجولة: 1
سبتمبر: "
القيمة: [2010، 2017] —

يمكنك الآن تسجيل كافة المتغيرات في رمز المستند باسم params$animal_name وparams$years_of_study. بعد ذلك سنستخدم القائمة المنسدلة Knit (أو knit_with_parameters()) وسنكون قادرين على تحديد المعلمات.

10 ميزات R مفيدة قد لا تعرفها

معرف com لهذا التطبيق هو com.develjs

Detectionjs عبارة عن حزمة تسمح لك بإنشاء عروض تقديمية رائعة بتنسيق HTML باستخدام رمز R المدمج والتنقل السهل وقوائم الشرائح. تسمح لك اختصارات HTML بإنشاء بنية شرائح متداخلة بسرعة مع خيارات تصميم مختلفة. حسنًا، سيتم تشغيل HTML على أي جهاز، لذلك يمكن فتح العرض التقديمي على كل هاتف أو جهاز لوحي أو كمبيوتر محمول. يمكن تكوين الكشف عن المعلومات عن طريق تثبيت الحزمة واستدعائها في رأس YAML. هنا مثال:

- العنوان: "استكشاف حافة عالم تحليلات الأشخاص"
المؤلف: "كيث ماكنولتي"
انتاج:
كشف::revealjs_presentation:
المركز: نعم
القالب:starwars.html
الموضوع: أسود
التاريخ: "لقاء تحليلات الموارد البشرية في لندن - 18 مارس 2019"
ملفات_الموارد:
- دارث.png
- نجمة الموت.png
- هانتشيوي.png
- الألفية.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

كود مصدر العرض التقديمي نشرت هنا، ونفسهاrpubs.com/keithmcnulty/hr_meetup_london'>العرض التقديمي - هنا.

10 ميزات R مفيدة قد لا تعرفها

علامات HTML في R لامعة

لا يستفيد معظم المبرمجين استفادة كاملة من علامات HTML التي يمتلكها R Shiny. ولكن هذه ليست سوى 110 علامة، مما يجعل من الممكن إنشاء مكالمة قصيرة لوظيفة HTML أو تشغيل الوسائط. على سبيل المثال، استخدمت مؤخرًا العلامات$audio لتشغيل صوت "النصر" الذي ينبه المستخدم عند اكتمال المهمة.

حزمة الثناء

يعد استخدام هذه الحزمة أمرًا بسيطًا للغاية، ولكنه ضروري لعرض الثناء على المستخدم. يبدو الأمر غريبًا، لكنهم في الواقع يحبون ذلك.

10 ميزات R مفيدة قد لا تعرفها

يوصي Skillbox بما يلي:

المصدر: www.habr.com

إضافة تعليق