Contenu du cours
Introduction à R : Partie II
Introduction à R : Partie II
Manipulation des Lignes
Apprenons maintenant à ajouter/supprimer des lignes. Considérons deux méthodes. La première est plus applicable pour ajouter une seule ligne.
La méthode consiste à attribuer une nouvelle ligne à l'index du dernier plus un d'un data frame existant (pour obtenir le nombre de lignes, utilisez la fonction nrow()
). Rappelez-vous que vous ne pouvez pas stocker des données de types différents en utilisant des vecteurs. Vous devez donc attribuer soit un data frame, soit une liste avec de nouvelles valeurs. Ne vous inquiétez pas si vous ne connaissez pas les listes. En termes simples, c'est comme un vecteur qui nous permet de stocker des données de types différents. Représentons cela. Le data frame initial est montré ci-dessous.
# Creating a data frame name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Adding new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test # Output data frame
Remarque
Par défaut, lors de la modification d'un data frame, toute nouvelle valeur de chaîne dans une liste est automatiquement convertie en facteurs. Pour éviter cette conversion automatique, le paramètre
stringsAsFactors = FALSE
doit être spécifié lors de la création du data frame. Cette approche doit être appliquée chaque fois que vous modifiez des lignes dans le data frame.
Vous pouvez le faire en utilisant un nouveau data frame et la fonction merge
. Cette méthode nécessite les mêmes noms de colonnes et le réglage des paramètres nécessaires (all = T
).
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') # Data of new person as data frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Set column names merge(test, new_person, all = T) # Merge data frames
Comme vous pouvez le voir, les sorties sont identiques. Pour supprimer des lignes du data frame, utilisez des crochets et mettez un signe moins à gauche de l'index de la ligne. Par exemple, test[-1,]
supprimera la première ligne (comme pour les matrices)
Swipe to start coding
Continuons à travailler avec le data frame store
.
- Supprimez la ligne
'Dining chair'
(index 4) du data framestore
. Réaffectez le résultat à la variablestore
. - Ajoutez une nouvelle ligne au data frame
store
en utilisant l'approchelist
avec les données ci-dessous.
Article | Prix | Vendu |
---|---|---|
Kitchen Cabinet | 70 | 67 |
Affichez le data frame modifié.
Solution
Merci pour vos commentaires !
Manipulation des Lignes
Apprenons maintenant à ajouter/supprimer des lignes. Considérons deux méthodes. La première est plus applicable pour ajouter une seule ligne.
La méthode consiste à attribuer une nouvelle ligne à l'index du dernier plus un d'un data frame existant (pour obtenir le nombre de lignes, utilisez la fonction nrow()
). Rappelez-vous que vous ne pouvez pas stocker des données de types différents en utilisant des vecteurs. Vous devez donc attribuer soit un data frame, soit une liste avec de nouvelles valeurs. Ne vous inquiétez pas si vous ne connaissez pas les listes. En termes simples, c'est comme un vecteur qui nous permet de stocker des données de types différents. Représentons cela. Le data frame initial est montré ci-dessous.
# Creating a data frame name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Adding new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test # Output data frame
Remarque
Par défaut, lors de la modification d'un data frame, toute nouvelle valeur de chaîne dans une liste est automatiquement convertie en facteurs. Pour éviter cette conversion automatique, le paramètre
stringsAsFactors = FALSE
doit être spécifié lors de la création du data frame. Cette approche doit être appliquée chaque fois que vous modifiez des lignes dans le data frame.
Vous pouvez le faire en utilisant un nouveau data frame et la fonction merge
. Cette méthode nécessite les mêmes noms de colonnes et le réglage des paramètres nécessaires (all = T
).
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') # Data of new person as data frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Set column names merge(test, new_person, all = T) # Merge data frames
Comme vous pouvez le voir, les sorties sont identiques. Pour supprimer des lignes du data frame, utilisez des crochets et mettez un signe moins à gauche de l'index de la ligne. Par exemple, test[-1,]
supprimera la première ligne (comme pour les matrices)
Swipe to start coding
Continuons à travailler avec le data frame store
.
- Supprimez la ligne
'Dining chair'
(index 4) du data framestore
. Réaffectez le résultat à la variablestore
. - Ajoutez une nouvelle ligne au data frame
store
en utilisant l'approchelist
avec les données ci-dessous.
Article | Prix | Vendu |
---|---|---|
Kitchen Cabinet | 70 | 67 |
Affichez le data frame modifié.
Solution
Merci pour vos commentaires !