Dataframerijen op naam selecteren met dplyr


U kunt de volgende syntaxis gebruiken om rijen in een dataframe op naam te selecteren met behulp van dplyr:

 library (dplyr)

#select rows by name
df %>%
  filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: selecteer rijen op naam met dplyr

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set row names
row. names (df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')

#view data frame
df

       points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28

We kunnen de volgende code gebruiken om rijen te selecteren waarvan de rijnaam gelijk is aan Hawks, Cavs of Heat:

 library (dplyr)

#select specific rows by name
df %>%
  filter(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat '))

      points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28

Houd er rekening mee dat dplyr alleen rijen retourneert waarvan de namen zich in de vector bevinden die we aan de functie filter() hebben verstrekt.

Merk ook op dat u een uitroepteken ( ! ) kunt gebruiken om alle rijen te selecteren waarvan de namen niet in een vector staan:

 library (dplyr)

#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
  filter(!(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat ')))

       points assists rebounds
Mavs 99 33 30
Lakers 88 39 24

Houd er rekening mee dat dplyr alleen rijen retourneert waarvan de namen niet voorkomen in de vector die we hebben opgegeven voor de functie filter() .

Aanvullende bronnen

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

Hoe unieke waarden te filteren met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr
Hoe het aantal exemplaren in kolommen in R te tellen

Einen Kommentar hinzufügen

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