كيفية تحويل رقم إلى عامل في r (مع أمثلة)


هناك طريقتان يمكنك استخدامهما لتحويل متغير رقمي إلى متغير عاملي في R:

الطريقة الأولى: استخدام as.factor()

 df$factor_variable <- as. factor (df$numeric_variable)

سيؤدي ذلك إلى تحويل المتغير الرقمي إلى متغير عامل بعدد مستويات يساوي عدد القيم الفريدة في المتغير الرقمي الأصلي.

الطريقة الثانية: استخدام القطع ()

 df$factor_variable <- cut(df$numeric_variable, 3 , labels=c(' lab1 ', ' lab2 ', ' lab3 '))

سيقوم هذا المثال تحديدًا بتحويل المتغير الرقمي إلى متغير عاملي عن طريق “قطع” المتغير الرقمي إلى 3 قيم متباعدة بشكل متساوٍ.

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 15, 22, 29, 35, 24, 11, 24))

#view data frame
df

  team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24

#view structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: num 12 15 22 29 35 24 11 24

المثال 1: تحويل رقم إلى عامل باستخدام as.factor()

يوضح التعليمة البرمجية التالية كيفية استخدام as.factor() لتحويل عمود النقطة من رقمي إلى عامل:

 #convert points column from numeric to factor
df$points <- as. factor (df$points)

#view updated data frame
df

  team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24

#view updated structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: Factor w/ 7 levels "11","12","15",..: 2 3 4 6 7 5 1 5

باستخدام الدالة str() لتصور بنية إطار البيانات، يمكننا أن نرى أن عمود النقاط أصبح الآن عاملاً يحتوي على 7 مستويات مختلفة تمثل القيم الرقمية السبعة الفريدة في العمود.

مثال 2: تحويل عدد إلى عامل باستخدام Cut()

يوضح التعليمة البرمجية التالية كيفية استخدام القطع () لتحويل عمود النقاط من متغير رقمي إلى متغير عامل ثلاثي المستويات:

 #convert points column from numeric to factor with three levels
df$points <- cut(df$points, 3 , labels=c(' OK ', ' Good ', ' Great '))

#view updated data frame
df

  team points
1 A OK
2 A OK
3 B Good
4 B Great
5 C Great
6 C Good
7 C OK
8 D Good

#view updated structure of data frame
str(df)

'data.frame': 8 obs. of 2 variables:
 $ team: chr "A" "A" "B" "B" ...
 $ points: Factor w/ 3 levels "OK","Good","Great": 1 1 2 3 3 2 1 2

ومن النتيجة يتبين لنا أن متغير النقاط قد تم تحويله من متغير رقمي إلى متغير عامل بثلاثة مستويات وبالتسميات التالية:

  • “حسنًا”
  • “جيد”
  • “عظيم”

لاحظ أننا اخترنا استخدام ثلاثة مستويات في هذا المثال، ولكن لا تتردد في قطع المتغير الرقمي إلى العديد من المستويات التي تريدها عن طريق استبدال 3 في وظيفة القطع () بقيمة أخرى.

مصادر إضافية

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

كيفية تحويل الرقم إلى حرف في R
كيفية تحويل عامل إلى رقمي في R
كيفية تحويل العامل إلى حرف في R

Add a Comment

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