حل جميع مشاكل Windows والبرامج الأخرى

4 مهام للجدل البيانات في R للمبتدئين المتقدمين

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

الحصول على البيانات الخاصة بك حول R

  • إضافة عمود إلى إطار بيانات موجود
    • النحو 1: بواسطة المعادلة
    • التركيب 2: دالة التحويل () الخاصة بـ R
    • التركيب 3: وظيفة R.
    • بناء الجملة 4: mapply ()
    • بناء الجملة 5: tidyverse's dplyr
  • الحصول على ملخصات من قبل مجموعات البيانات الفرعية
  • حالة خاصة إضافية: التجميع حسب النطاق الزمني
  • فرز النتائج الخاصة بك
  • إعادة التشكيل: واسعة إلى طويلة
  • إعادة التشكيل: طويل إلى عريض

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



لقد أنشأت مجموعة بيانات نموذجية تحتوي على ثلاث سنوات من بيانات الإيرادات والأرباح من Apple و Google و Microsoft ، للنظر في كيفية أداء الشركات بعد فترة وجيزة من 'الركود العظيم' في 2008-2009. (مصدر البيانات كان الشركات نفسها ؛ 'fy' تعني السنة المالية.) إذا كنت ترغب في المتابعة ، يمكنك كتابة (أو نسخ ولصق) هذا في نافذة R الطرفية الخاصة بك:



fy <- c(2010,2011,2012,2010,2011,2012,2010,2011,2012) company <- c('Apple','Apple','Apple','Google','Google','Google','Microsoft','Microsoft','Microsoft') revenue <- c(65225,108249,156508,29321,37905,50175,62484,69943,73723) profit <- c(14013,25922,41733,8505,9737,10737,18760,23150,16978) companiesData <- data.frame(fy, company, revenue, profit)

سيقوم الكود أعلاه بإنشاء إطار بيانات مثل الإطار أدناه ، مخزّنًا في متغير يسمى CompaniesData:

fy شركة إيرادات ربح
1 2010 تفاح 65225 14013
2 2011 تفاح 108249 25922
3 2012 تفاح 156508 41733
4 2010 متصفح الجوجل 29321 8505
5 2011 متصفح الجوجل 37905 9737
6 2012 متصفح الجوجل 50175 10737
7 2010 مايكروسوفت 62484 18760
8 2011 مايكروسوفت 69943 23150
9 2012 مايكروسوفت 73723 16978

(يضيف R أرقام الصفوف الخاصة به إذا لم تقم بتضمين أسماء الصفوف.)



إذا قمت بتشغيل الدالة str () في إطار البيانات لمعرفة هيكلها ، فسترى أنه يتم التعامل مع السنة كرقم وليس كسنة أو عامل:

str(companiesData) 'data.frame': 9 obs. of 4 variables: $ fy : num 2010 2011 2012 2010 2011 ... $ company: Factor w/ 3 levels 'Apple','Google',..: 1 1 1 2 2 2 3 3 3 $ revenue: num 65225 108249 156508 29321 37905 ... $ profit : num 14013 25922 41733 8505 9737 ...

قد أرغب في تجميع بياناتي حسب السنة ، لكن لا أعتقد أنني سأقوم بتحليل محدد يستند إلى الوقت ، لذلك سأحول العمود fy من الأرقام إلى عمود يحتوي على فئات R (تسمى العوامل) بدلاً من ذلك من التواريخ بالأمر التالي:

companiesData$fy <- factor(companiesData$fy, ordered = TRUE)



Windows 10 في نفس المكان

خلال هذا البرنامج التعليمي ، سأوضح أيضًا كيفية إنجاز هذه المهام باستخدام الحزم في ما يسمى بـ 'tidyverse' - وهو نظام بيئي دافع عنه في البداية كبير علماء RStudio هادلي ويكهام ويدعمه الآن عدد من مؤلفي المصادر المفتوحة على حد سواء داخل وخارج RStudio.

لإنشاء عوامل مرتبة ، تحتوي حزمة tidyverse forcats على عدة خيارات ، بما في ذلك companiesData$fy <- forcats::as_factor(as.character(companiesData$fy)).

نحن الآن جاهزون للعمل.

يوضح شارون ماتشليس من IDG كيفية استخدام وظائف tidyr الجديدة pivot_longer و pivot_wider. مزيد من التفاصيل في الصفحة 7.

إضافة عمود إلى إطار بيانات موجود

تتمثل إحدى أسهل المهام التي يمكن إجراؤها في R في إضافة عمود جديد إلى إطار البيانات استنادًا إلى عمود واحد أو أكثر. قد ترغب في إضافة العديد من الأعمدة الموجودة لديك ، والعثور على متوسط ​​أو حساب بعض 'النتائج' من البيانات الموجودة في كل صف.

هناك العديد من الطرق للقيام بذلك في R. سيبدو بعضها معقدًا بشكل مفرط لهذه المهمة السهلة في متناول اليد ، ولكن في الوقت الحالي عليك أن تأخذ كلامي لأن بعض الخيارات الأكثر تعقيدًا يمكن أن تكون مفيدة في بعض الأحيان للمستخدمين المتقدمين الذين لديهم المزيد احتياجات قوية. ومع ذلك ، إذا كنت تبحث عن طريقة سهلة وأنيقة للقيام بذلك الآن ، فانتقل إلى Syntax 5 وحزمة dplyr.

لماذا المسجل

النحو 1: بواسطة المعادلة

ما عليك سوى إنشاء اسم متغير للعمود الجديد وتمرير صيغة الحساب كقيمة لها ، على سبيل المثال ، إذا كنت تريد عمودًا جديدًا يمثل مجموع عمودين موجودين:

dataFrame $ newColumn<- dataFrame$oldColumn1 + dataFrame$oldColumn2

كما يمكنك التخمين على الأرجح ، يؤدي هذا إلى إنشاء عمود جديد يسمى 'newColumn' مع مجموع oldColumn1 + oldColumn2 في كل صف.

تقسيم الشاشة على ايباد ميني

بالنسبة إلى نموذج إطار البيانات المسمى البيانات ، يمكننا إضافة عمود لهامش الربح بقسمة الربح على الإيرادات ثم الضرب في 100:

companiesData$margin <- (companiesData$profit / companiesData$revenue) * 100

هذا يعطينا:

fy شركة إيرادات ربح هامش
1 2010 تفاح 65225 14013 21.48409
2 2011 تفاح 108248 25922 23.94664
3 2012 تفاح 156508 41733 26.66509
4 2010 متصفح الجوجل 29321 8505 29.00651
5 2011 متصفح الجوجل 37905 9737 25.68790
6 2012 متصفح الجوجل 50175 10737 21.39910
7 2010 مايكروسوفت 62484 18760 30.02369
8 2011 مايكروسوفت 69943 23150 33.09838
9 2012 مايكروسوفت 73723 16978 23.02945

توقف - هذا عدد كبير من المنازل العشرية في عمود الهامش الجديد.

يمكننا تقريب ذلك إلى منزلة عشرية واحدة فقط باستخدام الدالة round () ؛ round () يأخذ التنسيق:

دائري (رقم (أرقام) سيتم تقريبه ، كم عدد المنازل العشرية التي تريدها)

لذلك ، لتقريب عمود الهامش إلى منزلة عشرية واحدة:

companiesData$margin <- round(companiesData$margin, 1)

وستحصل على هذه النتيجة:

fy شركة إيرادات ربح هامش
1 2010 تفاح 65225 14013 21.5
2 2011 تفاح 108248 25922 23.9
3 2012 تفاح 156508 41733 26.7
4 2010 متصفح الجوجل 29321 8505 29.0
5 2011 متصفح الجوجل 37905 9737 25.7
6 2012 متصفح الجوجل 50175 10737 21.4
7 2010 مايكروسوفت 62484 18760 30.0
8 2011 مايكروسوفت 69943 23150 33.1
9 2012 مايكروسوفت 73723 16978 23.0

اختيار المحرر

هجوم سلسلة التوريد يضرب مستخدمي Mac لتطبيق محول الفيديو HandBrake

اخترق المتسللون خادم التنزيل لـ HandBrake ، وهو برنامج مفتوح المصدر شائع لتحويل ملفات الفيديو ، واستخدموه لتوزيع إصدار macOS من التطبيق الذي يحتوي على برامج ضارة.

Google Street View على قمة جبل (كلها مغطاة بالثلج)

آه ، Google ، لا تفشل أعمالك الدعائية في التجوّل الافتراضي أبدًا في الترفيه. هذه المرة ، قام المخادعون في Mountain View بوضع كاميراتهم بزاوية 360 درجة فوق جبل حقيقي - مونت بلانك ، على وجه الدقة ...

Microsoft Bing: 5 ميزات تمنحها فرصة ضد Google

يغطي Computerworld مجموعة من الموضوعات التقنية ، مع التركيز على هذه المجالات الأساسية لتقنية المعلومات: Windows ، Mobile ، Apple / Enterprise ، Office ومجموعات الإنتاجية ، التعاون ، متصفحات الويب و blockchain ، بالإضافة إلى المعلومات ذات الصلة حول الشركات مثل Microsoft و Apple وجوجل.

مايكروسوفت موني 2006

لدي برنامج Microsoft Money 2006 - إنه برنامج رائع ، ومع ذلك ، قمت الليلة الماضية بحذف جهاز الكمبيوتر بالكامل عن طريق الخطأ. هل ولدى أحدهم تلميح مفيد قد أحاول العثور على البرنامج والحصول على

يبدو أن Apple تطور منتجات وخدمات iCloud جديدة

يبدو أن Apple تقوم بتوظيف مواهب الخدمات السحابية الرئيسية وتتطلع الآن إلى خدمات ويب 'جديدة تمامًا'.