ج: كيفية طي النص حسب المجموعة في إطار البيانات


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

الطريقة الأولى: تقليل النص حسب المجموعة باستخدام Base R

 aggregate(text_var ~ group_var, data=df, FUN=paste, collapse='')

الطريقة الثانية: تقليل النص حسب المجموعة باستخدام dplyr

 library (dplyr)

df %>%
  group_by(group_var) %>%
  summarize(text=paste(text_var, collapse=''))

الطريقة الثالثة: تقليل النص حسب المجموعة باستخدام data.table

 library (data.table)

dt <- as. data . table (df)

dt[, list(text_var=paste(text_var, collapse='')), by=group_var]

يشرح هذا البرنامج التعليمي كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Center'))

#view data frame
df

  team position
1A Guard
2 A Guard
3 A Forward
4 B Guard
5B Forward
6B Center

مثال 1: تقليل النص حسب المجموعة باستخدام Base R

يوضح التعليمة البرمجية التالية كيفية تقليل نص عمود الموضع ، مجمعًا حسب عمود الفريق باستخدام وظيفة Aggregate() في قاعدة بيانات R:

 #collapse position values by team 
aggregate(position ~ team, data=df, FUN=paste, collapse='')

  team position
1A GuardGuardForward
2 B GuardForwardCenter

لاحظ أن كل قيمة من القيم النصية في عمود الموضع قد تم طيها إلى قيمة واحدة، مجمعة حسب القيم الموجودة في عمود الفريق .

مثال 2: تقليل النص حسب المجموعة باستخدام dplyr

يوضح التعليمة البرمجية التالية كيفية طي النص في عمود الموضع ، مجمعًا حسب عمود الفريق باستخدام الدالة summarise() من الحزمة dplyr:

 library (dplyr)

#collapse position values by team
df %>%
  group_by(group_var) %>%
  summarize(text=paste(text_var, collapse=''))

# A tibble: 2 x 2
  team text              
                
1A GuardGuardForward 
2 B GuardForwardCenter

لاحظ أن كل قيمة من القيم النصية في عمود الموضع قد تم طيها إلى قيمة واحدة، مجمعة حسب القيم الموجودة في عمود الفريق .

مثال 3: تقليل النص حسب المجموعة باستخدام data.table

يوضح التعليمة البرمجية التالية كيفية طي النص في عمود ” المنصب “، مجمعة حسب عمود “الفريق ” باستخدام الوظائف الموجودة في حزمة data.table:

 library (data.table)

#convert data frame to data table
dt <- as. data . table (df)

#collapse position values by team
dt[, list(text_var=paste(text_var, collapse='')), by=group_var]

   team position
1: A GuardGuardForward
2: B GuardForwardCenter

تم طي كل قيمة من القيم النصية في عمود الموضع إلى قيمة واحدة، مجمعة حسب القيم الموجودة في عمود الفريق .

مصادر إضافية

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

كيفية تحديد الأعمدة التي تحتوي على سلسلة محددة في R
كيفية إزالة الأحرف من سلسلة في R
كيفية العثور على موقع الحرف في سلسلة في R

Add a Comment

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