Hoe u een dataframe in r onderverdeelt op basis van meerdere voorwaarden


U kunt de volgende methoden gebruiken om een dataframe te subdefiniëren op basis van meerdere voorwaarden in R:

Methode 1: Subset-dataframe met behulp van “OR”-logica

 df_sub <- subset(df, team == ' A ' | points < 20 )

In dit specifieke voorbeeld wordt het gegevensframe onderverdeeld voor rijen waarbij de teamkolom gelijk is aan ‚A‘ of de puntenkolom kleiner is dan 20.

Methode 2: Subset-dataframe met behulp van „AND“-logica

 df_sub <- subset(df, team == ' A ' & points < 20 )

In dit specifieke voorbeeld wordt het gegevensframe onderverdeeld voor rijen waarbij de teamkolom gelijk is aan ‚A‘ en de puntenkolom kleiner is dan 20.

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', 'Forward'),
                 dots=c(22, 25, 19, 22, 12, 35))

#view data frame
df

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35

Voorbeeld 1: Subset dataframe met behulp van “OR”-logica

De volgende code laat zien hoe u het gegevensframe kunt subsetten voor rijen waarbij de teamkolom gelijk is aan ‚A‘ of de puntenkolom kleiner is dan 20:

 #subset data frame where team is 'A' or points is less than 20
df_sub <- subset(df, team == ' A ' | points < 20 )

#view subset
df_sub

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
5 B Forward 12

Elk van de rijen in de subset heeft een waarde van „A“ in de teamkolom of een waarde in de puntenkolom van minder dan 20.

Opmerking : de | het symbool vertegenwoordigt “OF” in R.

In dit voorbeeld hebben we slechts één „OR“-symbool in de functie subset() opgenomen, maar we kunnen er zoveel opnemen als we willen, op basis van nog meer voorwaarden.

Voorbeeld 2: Subset dataframe met behulp van “AND”-logica

De volgende code laat zien hoe u het gegevensframe kunt subsetten voor rijen waarbij de teamkolom gelijk is aan ‚A‘ en de puntenkolom kleiner is dan 20:

 #subset data frame where team is 'A' and points is less than 20
df_sub <- subset(df, team == ' A ' & points < 20 )

#view subset
df_sub

  team position points
3 A Forward 19

Houd er rekening mee dat de resulterende subset slechts één rij bevat.

Slechts één rij heeft een “A”-waarde in de teamkolom en een waarde in de puntenkolom van minder dan 20.

Opmerking : het symbool & vertegenwoordigt “EN” in R.

In dit voorbeeld hebben we slechts één enkel „AND“-symbool in de functie subset() opgenomen, maar we kunnen er zoveel opnemen als we willen, op basis van nog meer voorwaarden.

Aanvullende bronnen

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

Hoe u afzonderlijke rijen in een dataframe selecteert in R
Hoe rijen met NA-waarden in R te selecteren
Hoe rijen te selecteren op basis van vectorwaarden in R

Einen Kommentar hinzufügen

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