A: як згорнути текст за групою у фреймі даних


Щоб згорнути текст за групою у фреймі даних у R, можна використовувати такі методи:

Спосіб 1. Зменште текст групою за допомогою Base R

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

Спосіб 2. Зменште текст за групою за допомогою dplyr

 library (dplyr)

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

Спосіб 3: зменшіть текст за групою за допомогою 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

У наступному коді показано, як згорнути текст у стовпці Position , згрупований за стовпцем Team за допомогою функцій у пакеті 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *