-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path06-manipulate.Rmd
92 lines (65 loc) · 1.39 KB
/
06-manipulate.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Manipuler les données dans R
## Sélection de colonnes d’un tableau
Afficher les noms des colonnes
```{r}
colnames(exprs)
```
Valeurs stockées dans la colonne nommée "WT1"
```{r}
exprs$WT1
```
Notation alternative
```{r}
exprs[ , "WT1"]
```
Sélection de plusieurs colonnes.
```{r}
exprs[ , c("WT1", "WT2")]
```
Sélection de colonnes par leur indice
```{r}
exprs[ , 2]
```
```{r}
exprs[ , c( 3, 2)]
```
## Sélection de lignes d’un tableau
Sélection des lignes 4 et 11 du tableau des expressions
```{r}
exprs[c(4, 11), ]
```
Sélection des identifiants de deux gènes d’intérêt
```{r}
my_genes <- c("ENSG00000253991", "ENSG00000099958")
```
Vecteur booléen indiquant si chaque ID du tableau fait partie des gènes d’intérêt
```{r}
exprs$id %in% my_genes
```
Indices des lignes correspondant aux IDs des gènes d’intérêt
```{r}
which(exprs$id %in% my_genes)
```
Afficher les lignes correspondantes
```{r}
exprs[which(exprs$id %in% my_genes), ]
```
## Formulation plus intuitive
```{r}
subset(x = exprs, id %in% my_genes)
```
Approche plus moderne, avec le package dplyr
```{r}
## charger la librairie dplyr
library(dplyr)
```
```{r}
## envoyer le tableau exprs à la commande filter()
exprs %>% filter(id %in% my_genes)
```
```{r}
## plus avancé : enchaîner plusieurs commandes
exprs %>%
filter(id %in% my_genes) %>%
mutate(mean_KO = (KO1 + KO2)/2)
```