R : Comment ajouter une colonne au bloc de données en fonction d’autres colonnes



Vous pouvez utiliser la syntaxe de base suivante pour ajouter une colonne à un bloc de données dans R en fonction des valeurs des autres colonnes :

#add new column 'col3' with values based on columns 1 and 2
df$col3 <- with(df, ifelse(col1 > col2, value_if_true, value_if_false))

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : ajouter une colonne de caractères basée sur d’autres colonnes

Le code suivant montre comment ajouter une nouvelle colonne de caractères basée sur les valeurs des autres colonnes du bloc de données :

#create data frame
df <- data.frame(team=c('Mavs', 'Cavs', 'Spurs', 'Nets'),
                 scored=c(99, 90, 84, 96),
                 allowed=c(95, 80, 87, 95))

#view data frame
df

   team scored allowed
1  Mavs     99      95
2  Cavs     90      80
3 Spurs     84      87
4  Nets     96      95

#add 'result' column based on values in 'scored' and 'allowed' columns
df$result <- with(df, ifelse(scored > allowed, 'Win', 'Loss'))

#view updated data frame
df

   team scored allowed result
1  Mavs     99      95    Win
2  Cavs     90      80    Win
3 Spurs     84      87   Loss
4  Nets     96      95    Win

Et le code suivant montre comment ajouter une nouvelle colonne de caractères qui combine deux fonctions ifelse() pour produire trois valeurs potentielles dans une nouvelle colonne :

#create data frame
df <- data.frame(team=c('Mavs', 'Cavs', 'Spurs', 'Nets'),
                 scored=c(99, 90, 84, 96),
                 allowed=c(95, 80, 87, 95))

#view data frame
df

   team scored allowed
1  Mavs     99      95
2  Cavs     90      80
3 Spurs     84      87
4  Nets     96      95

#add 'quality' column based on values in 'scored' and 'allowed' columns
df$quality <- with(df, ifelse(scored > 95, 'great',
                         ifelse(scored > 85, 'good', 'bad')))

#view updated data frame
df

   team scored allowed quality
1  Mavs     99      95   great
2  Cavs     90      80    good
3 Spurs     84      87     bad
4  Nets     96      95   great

Exemple 2 : ajouter une colonne numérique basée sur d’autres colonnes

Le code suivant montre comment ajouter une nouvelle colonne numérique à un bloc de données en fonction des valeurs des autres colonnes :

#create data frame
df <- data.frame(team=c('Mavs', 'Cavs', 'Spurs', 'Nets'),
                 scored=c(99, 90, 84, 96),
                 allowed=c(95, 80, 87, 95))

#view data frame
df

   team scored allowed
1  Mavs     99      95
2  Cavs     90      80
3 Spurs     84      87
4  Nets     96      95

#add 'lower_score' column based on values in 'scored' and 'allowed' columns
df$lower_score <- with(df, ifelse(scored > allowed, allowed, scored))

#view updated data frame
df

   team scored allowed lower_score
1  Mavs     99      95          95
2  Cavs     90      80          80
3 Spurs     84      87          84
4  Nets     96      95          95

Ressources additionnelles

Comment ajouter des colonnes au bloc de données dans R
Comment ajouter une colonne vide à un bloc de données dans R
Comment ajouter une colonne d’index au bloc de données dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *