data(iris)

dim(iris) # ce jeu de données contient 5 colonnes et 150 lignes

Pour sélectionner une colonne ou une ligne on peut utiliser son rang ( 1er colonne, 2eme colonne…).

 
iris[,1] #on sélectionne la colonne 1, c'est-à-dire la première colonne
iris[,3] #on sélectionne la colonne 3
iris[,2:3] #on sélectionne les colonnes 2 et 3
iris[,c(5,2)] #on sélectionne les colonnes 5 et 2 dans cet ordre


iris[1,] #on sélectionne la ligne 1
iris[3,] #on sélectionne la ligne 3
iris[2:3,] #on sélectionne les lignes 2 et 3
iris[c(5,2),] #on sélectionne les lignes 5 et 2 dans cet ordre

Si on ne sélectionne qu’une seule ligne ou colonne, cela ressort un object de classe vector. S’il y a au moins 2 colonnes ou 2 lignes, on reste avec un data.frame.

On peut aussi utiliser le nom de la colonne, cette fois-ci le résultat restera un data.frame et n’est pas dépendant de la position de la colonne ou de la ligne dans le jeux de données.


names(iris) # permet de voir le nom des différentes variables/colonnes
iris["Species"] # on sélectionne la colonne "Species", il faut bien mettre des guillemets car il s'agit d'une chaine de caractères
iris["Sepal.Length"]


# pour les lignes
row.names(iris) # permet d'obtenir le noms des lignes
iris["138",]  # donne la ligne qui s'appelle "138"
row.names(iris)[100]<-"hop"  # pour bien montrer qu'il s'agit d'une chaine de caractères
iris["hop",]  # fonctionne
#mais
iris["100",] # ne donne que des NA

Aujourd’hui, il est recommandé d’utiliser le {tidyverse}: https://abcdr.thinkr.fr/comment-supprimer-une-colonne-ou-une-ligne-dans-un-dataframe-avec-le-tidyverse-et-dplyr/.