Hoe drie kolommen in r te vergelijken (met voorbeeld)


U kunt de volgende basissyntaxis gebruiken om de waarden van drie kolommen in R te vergelijken:

 df$all_matching <- df$A == df$B & df$B == df$C

Met deze syntaxis wordt een nieuwe kolom gemaakt met de naam all_matching , die TRUE retourneert als alle kolommen overeenkomende waarden hebben, en anders FALSE retourneert.

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

Voorbeeld: Vergelijk drie kolommen in R

Stel dat we het volgende dataframe in R hebben met drie kolommen:

 #create data frame
df <- data. frame (A=c(4, 0, 3, 3, 6, 8, 7, 9, 12),
                 B=c(4, 2, 3, 5, 6, 4, 7, 7, 12),
                 C=c(4, 0, 3, 5, 5, 10, 7, 9, 12))

#view data frame
df

   ABC
1 4 4 4
2 0 2 0
3 3 3 3
4 3 5 5
5 6 6 5
6 8 4 10
7 7 7 7
8 9 7 9
9 12 12 12

We kunnen de volgende code gebruiken om een nieuwe kolom te maken met de naam all_matching , die TRUE retourneert als alle drie de kolommen in een bepaalde rij overeenkomen en FALSE als dat niet het geval is:

 #create new column that checks if values in all three columns match
df$all_matching <- df$A == df$B & df$B == df$C

#view updated data frame
df

   ABC all_matching
1 4 4 4 TRUE
2 0 2 0 FALSE
3 3 3 3 TRUE
4 3 5 5 FALSE
5 6 6 5 FALSE
6 8 4 10 FALSE
7 7 7 7 TRUE
8 9 7 9 FALSE
9 12 12 12 TRUE

De nieuwe kolom genaamd all_matching geeft aan of de waarden in de drie kolommen in een bepaalde rij wel of niet overeenkomen.

Bijvoorbeeld:

  • Alle drie de waarden komen overeen in de eerste rij, dus TRUE wordt geretourneerd.
  • Niet alle waarden in de tweede rij komen overeen, dus FALSE wordt geretourneerd.
  • Alle drie de waarden komen overeen in de derde rij, dus TRUE wordt geretourneerd.

Enzovoort.

Als je andere waarden dan TRUE en FALSE wilt retourneren, kun je deze waarden opgeven in een ifelse()- functie.

We kunnen bijvoorbeeld de volgende code gebruiken om ‚Ja‘ te retourneren als de waarden in alle drie de kolommen overeenkomen, of anders ‚Nee‘:

 #create new column that checks if values in all three columns match
df$all_matching <- ifelse(df$A == df$B & df$B == df$C, ' Yes ', ' No ')

#view updated data frame
df

   ABC all_matching
1 4 4 4 Yes
2 0 2 0 No
3 3 3 3 Yes
4 3 5 5 No
5 6 6 5 No
6 8 4 10 No
7 7 7 7 Yes
8 9 7 9 No
9 12 12 12 Yes

De nieuwe kolom retourneert nu „Ja“ of „Nee“ in plaats van TRUE of FALSE .

Aanvullende bronnen

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

Hoe u kunt controleren of er een kolom bestaat in het dataframe in R
Hoe u kunt controleren of de kolom een tekenreeks in R bevat
Hoe u een kolom aan een dataframe in R kunt toevoegen op basis van andere kolommen

Einen Kommentar hinzufügen

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