Bonjour,

J'ai à nouveau quelque soucis dans l'analyse de certaines données.

Point1: J'ai un tableau (voir les premières lignes ci dessous) avec une colonne Verif et une colonne taille et je voudrais dans un premier temps avoir le % de chaque facteur de verif en fonction de différents intervalles de taille. J'ai plus ou moins réussi avec la fonction cut de tydiverse mais lorsque je n'ai pas certaines taille pour un facteur ça ne le prends pas en compte (exemple j'ai aucune taille entre 20 et 30 pour "lundi2" et j'aimerai que ces tailles apparaissent en mettant 0).

Comment pourrais-je régler ces deux soucis ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
                 Verif      Taille
2                Lundi1         28
4                Lundi2         12
7                Lundi2          3
20               Lundi2          5
24                 NA            1
36               Lundi1          1
40               Lundi1          4
50               Jeudi1          1
52               Lundi1          18
53               Lundi1          1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
resume= tab %>%
  group_by(Verif) %>% 
  group_by(size = cut(Taille,breaks=c(0,11,20,30,40,50,60,300)), .add = TRUE) %>% 
  count() %>% 
  ungroup() %>% 
  group_by(size) %>% 
  mutate(pct = round(n/sum(n)*100,2),)
J'obtiens donc grâce à ce code ce tableau (avec le nombre d'occurrence en 3ieme colonne et le pourcentage en 4ième colonne)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# A tibble: 16 x 4
# Groups:   size [7]
   size     Verif     n   pct
   <fct>    <chr>                <int> <dbl>
 1 (0,11]   Lundi1                  10  7.04
 2 (0,11]   Mardi1                  10  7.04
 3 (0,11]   NA                     122 85.9 
 4 (11,20]  Lundi1                   1  4.17
 5 (11,20]  Mardi1                   1  4.17
 6 (11,20]  NA                      22 91.7 
 7 (20,30]  Mardi1                   3 14.3 
 8 (20,30]  NA                      18 85.7 
 9 (30,40]  Lundi1                   1 11.1 
10 (30,40]  NA                       8 88.9 
11 (40,50]  Mardi1                   1  8.33
12 (40,50]  NA                      11 91.7 
13 (50,60]  Lundi1                   2 22.2 
14 (50,60]  NA                       7 77.8 
15 (60,300] Jeudi1                   5 11.9 
16 (60,300] NA                      37 88.1
Point2: Mais j'aimerai pouvoir ensuite le transformer en tableau à double entré avec en lignes les différents facteurs "lundi1" "mardi1" "jeudi1" (sans celui ci " ") et en colonnes les différents intervalles de tailles et à l'intersection des lignes et des colonnes je voudrais le pourcentage correspondant comme sur l'image ci dessous. Et enfin j'aimerai rajouter une dernière ligne "nombre" avec la somme du nombre de tailles comprises dans chaque intervalles (voir également image ci dessous).

Quelle fonction pourrais je utiliser pour faire cela ?

J'ai vu pas mal de fonctions qui transforment un tableau en faisant pivoter des colonnes en lignes ou inversement en fonction d'une colonne/ ligne qui ne bouge pas, mais je n'ai rien vu pour mettre les valeurs d'une variable en intersection de deux autres...

Nom : tableau résumé2.PNG
Affichages : 174
Taille : 5,0 Ko

Merci d'avance pour votre aide

Aline