A: tekst per groep samenvouwen in een dataframe


U kunt de volgende methoden gebruiken om tekst per groep samen te vouwen in een gegevensframe in R:

Methode 1: Tekst per groep verkleinen met Base R

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

Methode 2: Tekst per groep verkleinen met dplyr

 library (dplyr)

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

Methode 3: Tekst per groep verkleinen met data.table

 library (data.table)

dt <- as. data . table (df)

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

In deze tutorial wordt uitgelegd hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:

 #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

Voorbeeld 1: Tekst per groep verkleinen met Base R

De volgende code laat zien hoe u de tekst van de positiekolom kunt verkleinen, gegroepeerd op teamkolom , met behulp van de functie Aggregate() van de R-database:

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

  team position
1A GuardGuardForward
2 B GuardForwardCenter

Houd er rekening mee dat elk van de tekstwaarden in de positiekolom is samengevouwen tot één enkele waarde, gegroepeerd op de waarden in de teamkolom .

Voorbeeld 2: Tekst per groep verkleinen met dplyr

De volgende code laat zien hoe u de tekst in de positiekolom samenvouwt, gegroepeerd op teamkolom , met behulp van de summarise() functie uit het dplyr-pakket:

 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

Houd er rekening mee dat elk van de tekstwaarden in de positiekolom is samengevouwen tot één enkele waarde, gegroepeerd op de waarden in de teamkolom .

Voorbeeld 3: Tekst per groep verkleinen met data.table

De volgende code laat zien hoe u de tekst in de kolom Positie samenvouwt, gegroepeerd op Team- kolom, met behulp van functies in het data.table-pakket:

 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

Elk van de tekstwaarden in de positiekolom is samengevouwen tot één enkele waarde, gegroepeerd op de waarden in de teamkolom .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe u kolommen selecteert die een specifieke tekenreeks bevatten in R
Hoe tekens uit een string in R te verwijderen
Hoe de tekenlocatie in een string in R te vinden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert