# 09/06/2020 #### Exemple d'extraction de données à partir d'un vecteur simple ### créer un vecteur contenant les valeurs de 1 à 100 gene_rank <- 1:100 # nommer le vecteur (i.e donner des noms aux indices du vecteur) set.seed(56) # pour la reproducibilité du code on verra ça plus tard # la ligne de code ci-dessous fait appel à : # • la fonction paste() déjà vue # • la fonction sample, on la verra plus tard # • la notion de recyclage de variable. En effet le vecteur de longueur = 1 contenant la chaîne de caractères "Gène" va être recylé 100 fois!! names(gene_rank) <- paste("Gene", sample(x = 1:100, size = 100, replace = FALSE), sep = "_") ### Extraire des valeurs du vecteur ## en utlisant le noms des indices # extraire la valeur associée au Gene_30 gene_rank["Gene_30"] # extraire la valeur associée au Gene_30 et Gene_43 gene_rank[c("Gene_30", "Gene_43")] # en utlisant le numéro des indices (qui n'est pas perdu lorsque l'on nomme les indices du vecteur!) gene_rank[c(2, 4, 9, 12)] #affiche les éléments en position 2, 4, 9 et 12 dans vecteur # différentes manières d'extraire les 10 premières et 10 dernières valeurs du vecteur # afficher les 10 première valeurs : gene_rank[1:10] # afficher les 10 dernières valeurs : vector_length <- length(gene_rank) #crée une variable contenant la longueur du vecteur gene_rank[(vector_length-9):vector_length] # afficher les 10 premères et les 10 dernières : gene_rank[c(1:10, (vector_length-9):vector_length)] # Autre façon en utlisant les booléens gene_rank[gene_rank <=10 | gene_rank>=91] ###Les booléens FALSE, TRUE ou 0, 1 bool_vect <- c(TRUE, FALSE, FALSE, TRUE) bool_vect # il est possible de réaliser des opération arythmétiques sur les booléens... sum(bool_vect) # car les valeurs booléennes ont des correspondances numériques TRUE=1, FALSE=0 as.numeric(bool_vect) # est une façon de transformer un vecteur de booléens en version numeric. ### fonction paste() # créer les vecteurs names et ages names <- c("Amanda","Boris","Claire","Desmond", "Elena","Farid", "Giulia", "Henry") ages <- c(36, 34, 24, 41, 34, 37, 34, 34) # afficher la structure du vecteur : indique le type de variable contenue dans le vecteur str(names) # afficher la structure du vecteur : indique le type de variable contenue dans le vecteur str(ages) # Generate a vector of character strings, each consisting in one of the names in names # and the corresponding age separated by a tabulation: names_ages <- paste(names, ages, sep = "\t") # afficher le vecteur créer names_ages # afficher la structure du vecteur : indique le type de variable contenue dans le vecteur str(names_ages) # façon en utilisant le vecteur "names_ages" précédemment créé : names_ages_IIa <- paste(names_ages, collapse = "\n") # autre façon de faire (from scratch, by steps) names_ages_IIb <- paste(paste(names, ages, sep = "\t"), collapse = "\n") # autre façon de faire (from scratch, by steps) names_ages_IIc <- paste(names, ages, sep = "\t", collapse = "\n") names_ages_IIa #equivaut à print(names_ages_IIa) names_ages_IIb #equivaut à print(names_ages_IIa) names_ages_IIc #equivaut à print(names_ages_IIa) # afficher le vecteur avec interprétation des tabulation (\t) et saut de ligne(\n) cat(names_ages_IIa)