ج: كيفية حساب القيم في عمود به شرط


يمكنك استخدام الطرق التالية لحساب عدد القيم في عمود إطار البيانات في R بشرط معين:

الطريقة الأولى: حساب القيم في عمود به شرط

 nrow(df[df$column1 == ' value1 ', ])

الطريقة الثانية: حساب القيم في أعمدة متعددة مع الشروط

 nrow(df[df$column1 == ' value1 ' & df$column2 == ' value2 ', ])

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي في R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 12
3 AF 3
4 AF 14
5 BG 22
6 BG 15
7 BF 17
8 BF 17

مثال 1: حساب القيم في عمود به شرط

الكود التالي يوضح كيفية حساب عدد القيم في عمود الفريق حيث القيمة تساوي ‘ A ‘:

 #count number of rows where team is equal to 'B'
nrow(df[df$team == ' B ', ])

[1] 4

يمكننا أن نرى أن هناك 4 قيم في عمود الفريق حيث القيمة تساوي “B”.

مثال 2: حساب القيم في أعمدة متعددة مع الشروط

يوضح التعليمة البرمجية التالية كيفية حساب عدد الصفوف في إطار البيانات حيث يساوي عمود الفريق “B” وعمود الموضع يساوي “F”:

 #count number of rows where team is equal to 'B' and position is equal to 'F'
nrow(df[df$team == ' B ' & df$position == ' F ', ])

[1] 2

يمكننا أن نرى أن هناك صفين في إطار البيانات يستوفي كلا هذين الشرطين.

يمكننا استخدام صيغة مشابهة لحساب عدد الأسطر التي تلبي العدد المطلوب من الشروط.

على سبيل المثال، يوضح التعليمة البرمجية التالية كيفية حساب عدد الصفوف التي تستوفي ثلاثة شروط:

  • الفريق يساوي “ب”
  • الموضع يساوي “G”
  • النقاط أكبر من 20
 #count rows where team is 'B' and position is 'G' and points > 20
nrow(df[df$team == ' B ' & df$position == ' G ' & df$points > 20 , ])

[1] 1

يمكننا أن نرى أن صفًا واحدًا فقط في إطار البيانات يلبي هذه الشروط الثلاثة.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:

كيفية حساب عدد الأسطر في R
كيفية تحديد صفوف مفردة في إطار البيانات في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *