Regrouper des colonnes en fonction d'une ligne

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Augustin Soulard
Messages : 30
Enregistré le : 08 Avr 2019, 07:18

Regrouper des colonnes en fonction d'une ligne

Messagepar Augustin Soulard » 01 Juil 2019, 13:01

Bonjour,

J'ai un tableau avec une ligne représentant le nom des fermes étudiées. Mais j'ai plusieurs colonnes qui sont de la même ferme. j'aimerais regrouper ces colonnes pour n'avoir plus qu'une colonne pour chaque ferme et la sommes des lignes étant de la même ferme.

Voilà un exemple d'une partie de mon jeu de données :

Ferme E F G A D E
Apionidae 0 0 0 0 0 0
Araignées 2 17 1 9 18 0
Chrysomelidae 0 5 0 0 1 0
Chrysopidae 0 0 0 0 0 0
Curculionidae 0 0 0 0 1 0
Elateridae 0 5 0 4 0 0
Forficule 0 0 0 0 0 0
Limaces/Escargots 1 0 0 2 2 0
Mecoptère 0 0 0 0 0 0
Opilion 0 4 0 0 1 0
Puceron 0 0 0 1 0 0
Staphylinidae 0 5 0 1 1 0
Syrphidae 0 0 0 1 0 0

Il faut imaginer un tableau beaucoup plus gros avec pleins de fois les lettres de chaque fermes

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Mickael Canouil » 01 Juil 2019, 15:48

Bonjour,

que veut dire "regrouper", est-ce la somme, le minimum, la moyenne, autre-chose ?

Si on considère que "regrouper" est "faire la somme" :

Code : Tout sélectionner

.data <- read.table(header = TRUE, text = "Ferme E F G A D E
Apionidae 0 0 0 0 0 0
Araignées 2 17 1 9 18 0
Chrysomelidae 0 5 0 0 1 0
Chrysopidae 0 0 0 0 0 0
Curculionidae 0 0 0 0 1 0
Elateridae 0 5 0 4 0 0
Forficule 0 0 0 0 0 0
Limaces/Escargots 1 0 0 2 2 0
Mecoptère 0 0 0 0 0 0
Opilion 0 4 0 0 1 0
Puceron 0 0 0 1 0 0
Staphylinidae 0 5 0 1 1 0
Syrphidae 0 0 0 1 0 0")

Code : Tout sélectionner

duplicated2 <- function (x, bothWays = TRUE, ...) {
  if (bothWays) {
    duplicated(x, ...) | duplicated(x, fromLast = TRUE, ...)
  } else {
    duplicated(x, ...)
  }
}

col_dup <- duplicated2(colnames(.data))
names(col_dup) <- colnames(.data)

for (idup in unique(names(which(col_dup)))) {
  pos <- which(col_dup)[grep(idup, names(which(col_dup)))]
  .data[, pos[1]] <- rowSums(.data[, pos])
  .data[, pos[-1]] <- NULL
}

.data
#>                Ferme E  F G A  D
#> 1          Apionidae 0  0 0 0  0
#> 2          Araignées 2 17 1 9 18
#> 3      Chrysomelidae 0  5 0 0  1
#> 4        Chrysopidae 0  0 0 0  0
#> 5      Curculionidae 0  0 0 0  1
#> 6         Elateridae 0  5 0 4  0
#> 7          Forficule 0  0 0 0  0
#> 8  Limaces/Escargots 1  0 0 2  2
#> 9          Mecoptère 0  0 0 0  0
#> 10           Opilion 0  4 0 0  1
#> 11           Puceron 0  0 0 1  0
#> 12     Staphylinidae 0  5 0 1  1
#> 13         Syrphidae 0  0 0 1  0


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Augustin Soulard
Messages : 30
Enregistré le : 08 Avr 2019, 07:18

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Augustin Soulard » 01 Juil 2019, 16:11

Merci, c'est bien ce que je voulais (la somme).

En revanche, sur mon jeu de donnée total, cela ne marche pas partout, la colonne de la ferme A ne présente que des NA par exemple et les autres affiches 0 pour toutes les espèces. Il n'y a que la colonne de la ferme F qui semble bien le faire.

Ferme A B C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E F G
Acupalpus_elegans 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 1 0 0 0 0 0
Acupalpus_meridianus 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Agonum_muelleri 0 0 NA 0 0 0 0 0 0 NA 0 0 2 0 0 0 0 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_aenea 0 0 NA 0 0 6 0 1 0 NA 0 1 4 0 0 0 NA 0 2 0 0 0 0 NA 0 1 0 0 0 0 0 0 0 0 0
Amara_anthobia 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_bifrons 0 0 NA 0 0 0 0 0 0 NA 0 0 1 0 0 0 NA 0 1 1 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_communis 0 0 NA 0 0 2 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_familiaris 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 2 0 0 0 0 0 0 0 0 0
Amara_montivaga 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_nitida 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 1 NA 0 0 0 1 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_ovata 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_plebeja 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Amara_similata 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Anchomenus_dorsalis 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Anisodactylus_binotatus 1 0 NA 0 0 0 0 2 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Anisodactylus_signatus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Anthracus_consputus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Badister_peltatus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
bembidion_? 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Bembidion_lampros 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Bembidion_quadrimaculatum 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Bembidion_tetragrammum_ 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Brachinus_explodens 0 0 NA 0 0 2 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Brachinus_sclopeta 0 0 NA 0 0 9 0 0 0 NA 0 0 2 0 0 0 0 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Carabus_nemoralis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Cicindela_campestris 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Clivina_gr_fossor 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 1 0 0 0 0 0 0 0 0 0 0
Demetrias_atricapillus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_affinis 5 0 NA 0 0 4 0 3 0 NA 0 0 4 0 1 0 NA 0 0 1 0 0 0 NA 0 3 0 0 0 0 0 0 0 0 0
Harpalus_anxius 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_atratus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_cupreus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_dimidiatus 0 0 NA 0 0 0 0 0 0 NA 1 0 0 0 0 0 NA 0 1 3 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_distiguendus 1 0 NA 0 0 4 0 2 0 NA 0 0 5 0 1 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_latus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_picipennis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_rubripes 1 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_smaragdinus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Harpalus_tardus 0 0 NA 0 0 2 0 0 0 NA 0 0 3 0 0 0 NA 0 0 2 0 0 0 NA 0 4 0 0 0 0 0 0 0 0 0
Leistus_ferrugineus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 1 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Leistus_spinibarbis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Metalina_lampros 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Metellina_properans 3 0 NA 0 0 5 0 7 0 NA 0 0 0 1 0 0 NA 0 0 0 1 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Microlestes_minutulus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Microlestes_sp 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Nebria_brevicollis 0 0 NA 0 0 2 0 3 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Nebria_salina 2 0 NA 0 0 2 0 0 0 NA 0 0 1 0 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Notiophilus_biguttatus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Notiophilus_rufipes 0 0 NA 0 0 0 0 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Ocydromus_deletus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Ocys_harpaloides 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Ophonus_azureus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Ophonus_subquadratus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Ophorius_rufibarbis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Paradromius_linearis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Paraphonus_maculicornis 0 0 NA 0 0 1 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Paraphonus_maculiformis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Patrobus_australis 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Philochthus_mannerheimii 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Phyla_obtusata 0 0 NA 0 0 0 0 2 0 NA 1 0 0 0 0 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Poecilus_cupreus 3 0 NA 0 0 28 0 2 0 NA 0 0 27 1 0 0 NA 0 0 14 0 0 0 NA 0 1 0 0 0 0 0 0 0 0 0
Pseudoophonus_rufipes 0 0 NA 0 0 0 0 0 0 NA 1 0 0 0 1 0 NA 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Semioophonus_signiaticornis 0 0 NA 0 0 0 0 0 0 NA 0 0 1 0 0 0 0 0 0 0 0 0 0 NA 0 0 0 0 0 0 0 0 0 0 0
Trechus_gr_quadristriatus 0 0 NA 0 0 0 0 0 0 NA 0 0 0 1 0 0 NA 0 0 0 1 0 0 NA 0 0 0 0 0 0 0 0 0 0 0

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Mickael Canouil » 01 Juil 2019, 16:21

vous trouverez la solution dans l'aide de "?rowSums()"

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Augustin Soulard
Messages : 30
Enregistré le : 08 Avr 2019, 07:18

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Augustin Soulard » 01 Juil 2019, 16:30

Merci beaucoup pour ton aide, j'ai rajouté na.rm = T dans rowSums et cela marche pour les NA. Cependant j'ai toujours les fermes B, D, E et G qui affiche 0 partout. As-tu une idée du problème ?

Code : Tout sélectionner

Ferme  A B  C D E  F G
1            Acupalpus_elegans  1 0 NA 0 0  0 0
2         Acupalpus_meridianus  1 0 NA 0 0  1 0
3              Agonum_muelleri  2 0 NA 0 0  0 0
4                  Amara_aenea 15 0 NA 0 0  6 0
5               Amara_anthobia  1 0 NA 0 0  0 0
6                Amara_bifrons  3 0 NA 0 0  0 0
7               Amara_communis  2 0 NA 0 0  2 0
8             Amara_familiaris  2 0 NA 0 0  0 0
9              Amara_montivaga  0 0 NA 0 0  0 0
10                Amara_nitida  2 0 NA 0 0  0 0
11                 Amara_ovata  0 0 NA 0 0  0 0
12               Amara_plebeja  0 0 NA 0 0  0 0
13              Amara_similata  0 0 NA 0 0  0 0
14         Anchomenus_dorsalis  2 0 NA 0 0  1 0
15     Anisodactylus_binotatus  3 0 NA 0 0  0 0
16      Anisodactylus_signatus  0 0 NA 0 0  0 0
17         Anthracus_consputus  0 0 NA 0 0  0 0
18           Badister_peltatus  0 0 NA 0 0  0 0
19                 bembidion_?  0 0 NA 0 0  0 0
20           Bembidion_lampros  0 0 NA 0 0  0 0
21   Bembidion_quadrimaculatum  0 0 NA 0 0  0 0
22     Bembidion_tetragrammum_  0 0 NA 0 0  0 0
23         Brachinus_explodens  2 0 NA 0 0  2 0
24          Brachinus_sclopeta 11 0 NA 0 0  9 0
25           Carabus_nemoralis  0 0 NA 0 0  0 0
26        Cicindela_campestris  0 0 NA 0 0  0 0
27           Clivina_gr_fossor  1 0 NA 0 0  0 0
28      Demetrias_atricapillus  0 0 NA 0 0  0 0
29            Harpalus_affinis 21 0 NA 0 0  4 0
30             Harpalus_anxius  0 0 NA 0 0  0 0
31            Harpalus_atratus  0 0 NA 0 0  0 0
32            Harpalus_cupreus  0 0 NA 0 0  0 0
33         Harpalus_dimidiatus  5 0 NA 0 0  0 0
34       Harpalus_distiguendus 13 0 NA 0 0  4 0
35              Harpalus_latus  0 0 NA 0 0  0 0
36         Harpalus_picipennis  0 0 NA 0 0  0 0
37           Harpalus_rubripes  1 0 NA 0 0  0 0
38        Harpalus_smaragdinus  0 0 NA 0 0  0 0
39             Harpalus_tardus 11 0 NA 0 0  2 0
40         Leistus_ferrugineus  1 0 NA 0 0  0 0
41         Leistus_spinibarbis  0 0 NA 0 0  0 0
42            Metalina_lampros  0 0 NA 0 0  0 0
43         Metellina_properans 17 0 NA 0 0  5 0
44       Microlestes_minutulus  0 0 NA 0 0  0 0
45              Microlestes_sp  0 0 NA 0 0  0 0
46          Nebria_brevicollis  5 0 NA 0 0  2 0
47               Nebria_salina  6 0 NA 0 0  2 0
48      Notiophilus_biguttatus  0 0 NA 0 0  0 0
49         Notiophilus_rufipes  1 0 NA 0 0  0 0
50           Ocydromus_deletus  0 0 NA 0 0  0 0
51            Ocys_harpaloides  0 0 NA 0 0  0 0
52             Ophonus_azureus  0 0 NA 0 0  0 0
53        Ophonus_subquadratus  1 0 NA 0 0  0 0
54         Ophorius_rufibarbis  0 0 NA 0 0  0 0
55        Paradromius_linearis  0 0 NA 0 0  0 0
56     Paraphonus_maculicornis  1 0 NA 0 0  1 0
57     Paraphonus_maculiformis  0 0 NA 0 0  0 0
58          Patrobus_australis  0 0 NA 0 0  0 0
59    Philochthus_mannerheimii  0 0 NA 0 0  0 0
60              Phyla_obtusata  3 0 NA 0 0  0 0
61            Poecilus_cupreus 76 0 NA 0 0 28 0
62       Pseudoophonus_rufipes  2 0 NA 0 0  0 0
63 Semioophonus_signiaticornis  1 0 NA 0 0  0 0
64   Trechus_gr_quadristriatus  2 0 NA 0 0  0 0

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Mickael Canouil » 01 Juil 2019, 16:36

A priori, ce n'est pas un problème, la somme de plusieurs zéro (et NA) est zéro
Mickaël
mickael.canouil.fr | rlille.fr

Augustin Soulard
Messages : 30
Enregistré le : 08 Avr 2019, 07:18

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Augustin Soulard » 01 Juil 2019, 16:45

Dans mon tableau il y a des espèces trouvées dans toutes les fermes sauf la C.
Pourtant dans le tableau résultat, il n'y a que des individus dans les fermes A et F.

La c'est moins facile à voir sur le texte mais on le voit bien quand je fais view(.data).

Tableau de données :

Code : Tout sélectionner

Ferme   A   B   C   D   E   F   G   A   B   C   D   E   F   G   A   B   C   D   E   F   G   A   B   C   D   E   F   G   A   B   C   D   E   F   G
Acupalpus_elegans   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   1   0   0   0   0   0
Acupalpus_meridianus   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Agonum_muelleri   0   0   NA   0   0   0   0   0   0   NA   0   0   2   0   0   0   0   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_aenea   0   0   NA   0   0   6   0   1   0   NA   0   1   4   0   0   0   NA   0   2   0   0   0   0   NA   0   1   0   0   0   0   0   0   0   0   0
Amara_anthobia   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_bifrons   0   0   NA   0   0   0   0   0   0   NA   0   0   1   0   0   0   NA   0   1   1   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_communis   0   0   NA   0   0   2   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_familiaris   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   2   0   0   0   0   0   0   0   0   0
Amara_montivaga   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_nitida   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   1   NA   0   0   0   1   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_ovata   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_plebeja   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Amara_similata   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Anchomenus_dorsalis   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Anisodactylus_binotatus   1   0   NA   0   0   0   0   2   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Anisodactylus_signatus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Anthracus_consputus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Badister_peltatus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
bembidion_?   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Bembidion_lampros   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Bembidion_quadrimaculatum   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Bembidion_tetragrammum_   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Brachinus_explodens   0   0   NA   0   0   2   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Brachinus_sclopeta   0   0   NA   0   0   9   0   0   0   NA   0   0   2   0   0   0   0   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Carabus_nemoralis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Cicindela_campestris   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Clivina_gr_fossor   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   1   0   0   0   0   0   0   0   0   0   0
Demetrias_atricapillus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_affinis   5   0   NA   0   0   4   0   3   0   NA   0   0   4   0   1   0   NA   0   0   1   0   0   0   NA   0   3   0   0   0   0   0   0   0   0   0
Harpalus_anxius   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_atratus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_cupreus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_dimidiatus   0   0   NA   0   0   0   0   0   0   NA   1   0   0   0   0   0   NA   0   1   3   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_distiguendus   1   0   NA   0   0   4   0   2   0   NA   0   0   5   0   1   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_latus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_picipennis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_rubripes   1   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_smaragdinus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Harpalus_tardus   0   0   NA   0   0   2   0   0   0   NA   0   0   3   0   0   0   NA   0   0   2   0   0   0   NA   0   4   0   0   0   0   0   0   0   0   0
Leistus_ferrugineus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   1   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Leistus_spinibarbis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Metalina_lampros   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Metellina_properans   3   0   NA   0   0   5   0   7   0   NA   0   0   0   1   0   0   NA   0   0   0   1   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Microlestes_minutulus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Microlestes_sp   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Nebria_brevicollis   0   0   NA   0   0   2   0   3   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Nebria_salina   2   0   NA   0   0   2   0   0   0   NA   0   0   1   0   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Notiophilus_biguttatus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Notiophilus_rufipes   0   0   NA   0   0   0   0   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Ocydromus_deletus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Ocys_harpaloides   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Ophonus_azureus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Ophonus_subquadratus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Ophorius_rufibarbis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Paradromius_linearis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Paraphonus_maculicornis   0   0   NA   0   0   1   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Paraphonus_maculiformis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Patrobus_australis   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Philochthus_mannerheimii   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Phyla_obtusata   0   0   NA   0   0   0   0   2   0   NA   1   0   0   0   0   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Poecilus_cupreus   3   0   NA   0   0   28   0   2   0   NA   0   0   27   1   0   0   NA   0   0   14   0   0   0   NA   0   1   0   0   0   0   0   0   0   0   0
Pseudoophonus_rufipes   0   0   NA   0   0   0   0   0   0   NA   1   0   0   0   1   0   NA   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Semioophonus_signiaticornis   0   0   NA   0   0   0   0   0   0   NA   0   0   1   0   0   0   0   0   0   0   0   0   0   NA   0   0   0   0   0   0   0   0   0   0   0
Trechus_gr_quadristriatus   0   0   NA   0   0   0   0   0   0   NA   0   0   0   1   0   0   NA   0   0   0   1   0   0   NA   0   0   0   0   0   0   0   0   0   0   0

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Mickael Canouil » 02 Juil 2019, 09:10

Petite correction de mon code:

Code : Tout sélectionner

.data <- read.table(file = "data.txt", header = TRUE, check.names = FALSE)

duplicated2 <- function (x, bothWays = TRUE, ...) {
  if (bothWays) {
    duplicated(x, ...) | duplicated(x, fromLast = TRUE, ...)
  } else {
    duplicated(x, ...)
  }
}

col_dup <- duplicated2(colnames(.data))
names(col_dup) <- colnames(.data)

for (idup in unique(names(which(col_dup)))) {
  pos <- which(col_dup)[grep(idup, names(which(col_dup)))]
  .data[, pos[1]] <- rowSums(.data[, pos], na.rm = TRUE)
}
.data <- .data[, !duplicated(colnames(.data))]
Mickaël
mickael.canouil.fr | rlille.fr

Augustin Soulard
Messages : 30
Enregistré le : 08 Avr 2019, 07:18

Re: Regrouper des colonnes en fonction d'une ligne

Messagepar Augustin Soulard » 02 Juil 2019, 09:40

Merci encore,

ça à l'aire de marcher :). Je vais le faire avec tout mes relevés et je te dirai. Puis je passerai la conversation en Résolu.

Bonne journée,

Augustin Soulard.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité