A: come comprimere il testo per gruppo in un frame di dati


È possibile utilizzare i seguenti metodi per comprimere il testo per gruppo in un frame di dati in R:

Metodo 1: ridurre il testo per gruppo utilizzando Base R

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

Metodo 2: ridurre il testo per gruppo utilizzando dplyr

 library (dplyr)

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

Metodo 3: ridurre il testo per gruppo utilizzando data.table

 library (data.table)

dt <- as. data . table (df)

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

Questo tutorial spiega come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #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

Esempio 1: ridurre il testo per gruppo utilizzando Base R

Il codice seguente mostra come ridurre il testo della colonna posizione , raggruppato per colonna del team utilizzando la funzione Aggregate() del database R:

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

  team position
1A GuardGuardForward
2 B GuardForwardCenter

Tieni presente che ciascuno dei valori di testo nella colonna della posizione è stato compresso in un singolo valore, raggruppato in base ai valori nella colonna della squadra .

Esempio 2: ridurre il testo per gruppo utilizzando dplyr

Il codice seguente mostra come comprimere il testo nella colonna di posizione , raggruppato per colonna del team utilizzando la funzione summarise() del pacchetto 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

Tieni presente che ciascuno dei valori di testo nella colonna della posizione è stato compresso in un singolo valore, raggruppato in base ai valori nella colonna della squadra .

Esempio 3: ridurre il testo per gruppo utilizzando data.table

Il codice seguente mostra come comprimere il testo nella colonna Posizione , raggruppato per colonna Team utilizzando le funzioni nel pacchetto 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

Ciascuno dei valori di testo nella colonna posizione è stato compresso in un singolo valore, raggruppato in base ai valori nella colonna squadra .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come selezionare colonne contenenti una stringa specifica in R
Come rimuovere caratteri da una stringa in R
Come trovare la posizione del carattere in una stringa in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *