كيفية استخدام الدالتين all() وany() في r (مع أمثلة)


يمكن استخدام الدالتين all() و any() في R للتحقق مما إذا كانت جميع القيم أو بعضها في المتجه يتم تقييمها على TRUE للتعبير.

تستخدم هذه الوظائف بناء الجملة التالي:

 #check if all values in x are less than 10
all(x < 10)

#check if any values in x are less than 10
any(x < 10)

توضح الأمثلة التالية كيفية استخدام كل وظيفة عمليًا.

مثال 1: استخدم all() وany() مع Vector

يمكننا استخدام الدالتين all() و any() التاليتين للتحقق مما إذا كانت بعض أو كل القيم في المتجه أقل من 10:

 #define vector of data values
data <- c(3, 4, 4, 8, 12, 15)

#check if all values are less than 10
all(data < 10)

[1] FALSE

#check if any values are less than 10
any(data < 10)

[1] TRUE

يتم تقييم الدالة all() إلى FALSE لأن جميع القيم في المتجه لا تقل عن 10.

يتم تقييم الدالة Any() إلى TRUE لأن قيمة واحدة على الأقل في المتجه أقل من 10.

مثال 2: استخدم all() مع قيم NA

إذا استخدمنا الدالة all() مع متجه يحتوي على قيم NA، فيمكننا الحصول على NA نتيجة لذلك:

 #define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)

#check if all values are less than 10
all(data < 10)

[1] NA

لتجنب ذلك، نحتاج إلى تحديد na.rm=TRUE لإزالة قيم NA أولاً من المتجه قبل التحقق مما إذا كانت جميع القيم تستوفي الشرط:

 #define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)

#check if all values are less than 10 (and ignore NA values)
all(data < 10, na. rm = TRUE )

[1] TRUE

يتم الآن تقييم الدالة all() إلى TRUE لأن كل قيمة في المتجه أقل من 10، بافتراض أننا نتجاهل قيم NA.

مثال 3: استخدم all() وany() مع أعمدة إطار البيانات

يمكننا أيضًا استخدام الدالتين all() و any() لتقييم تعبيرات أعمدة إطار البيانات.

على سبيل المثال، لنفترض أن لدينا إطار البيانات التالي في R:

 #define data frame
df <- data. frame (points=c(30, 22, 19, 20, 14, NA),
                 assists=c(7, 8, 13, 13, 10, 6),
                 rebounds=c(8, 12, NA, NA, 5, 8))

#view data frame
df

  points assists rebounds
1 30 7 8
2 22 8 12
3 19 13 NA
4 20 13 NA
5 14 10 5
6 NA 6 8

يمكننا استخدام الدالتين all() و any() لتقييم التعبيرات المختلفة للقيم الموجودة في عمود “الارتدادات”:

 #check if all values are less than 10 in rebounds column
all(df$rebounds < 10, na. rm = TRUE )

[1] FALSE

#check if any values are less than 10 in rebounds column
any(df$rebounds < 10, na. rm = TRUE )

[1] TRUE

#check if there are any NA values in rebounds column
any(is. na (df$rebounds))

[1] TRUE

ومن النتيجة يمكننا أن نرى:

  • جميع القيم لا تقل عن 10 في عمود الارتدادات.
  • قيمة واحدة على الأقل أقل من 10 في عمود الارتدادات.
  • توجد قيمة NA واحدة على الأقل في عمود الارتدادات.

ذات صلة: كيفية استخدام is.na في R (مع أمثلة)

مصادر إضافية

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

كيفية إضافة عمود إلى إطار البيانات في R
كيفية إضافة عمود فارغ إلى إطار البيانات في R
كيفية فرز إطار البيانات حسب العمود في R

Add a Comment

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