Bonjour,

Toujours aussi nulle sous R, j'ai encore un problème existentiel !

J'ai un tableau du type :
Navire Sequence_peche annee mois Rect div_ciem Met5 Met6 ESP Poids montant
Nav1 18/08/2000 2000 8 R 37.1.2 eng5 eng5-6 AUT 644 1609
Nav1 18/08/2000 2000 8 R 37.1.2 eng5 eng5-6 MUR 10 12
Nav1 18/08/2000 2000 8 R 37.1.2 eng5 eng5-6 NAS 238 713
Nav2 21/08/2000 2000 8 R 37.1.2 eng5 eng5-6 AUT 11 29
Nav2 21/08/2000 2000 8 R 37.1.2 eng5 eng5-6 MUR 688 825
Nav2 21/08/2000 2000 8 R 37.1.2 eng5 eng5-6 NAS 67 201
Nav3 23/08/2000 2000 8 R 37.1.2 eng5 eng5-6 AUT 626 1566
Nav3 23/08/2000 2000 8 R 37.1.2 eng5 eng5-6 MUR 31 37
Nav3 23/08/2000 2000 8 R 37.1.2 eng5 eng5-6 NAS 708 2123

et je voudrais faire une sorte de tableau croisé qui me donnerait ceci :

Navire Sequence_peche annee mois Rect div_ciem Met5 Met6 AUT MUR NAS
1 Nav1 18/08/2000 00:00 2000 8 R 37.1.2 eng5 eng5-6 1 1 1
2 Nav2 21/08/2000 00:00 2000 8 R 37.1.2 eng5 eng5-6 1 1 1
3 Nav3 23/08/2000 00:00 2000 8 R 37.1.2 eng5 eng5-6 1 1 1

obtenu par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
mydata <- read.table("TCD1.txt", header=TRUE, dec=",", sep="\t")
 
EndFile <- aggregate(cbind(AUT=mydata$ESP=="AUT", MUR=mydata$ESP=="MUR",NAS=mydata$ESP=="NAS"), FUN=sum, na.rm=T, 
                     by=list(Navire=mydata$Navire, Sequence_peche=mydata$Sequence_peche, annee=mydata$annee, mois=mydata$mois,
                             Rect=mydata$Rect, div_ciem=mydata$div_ciem, Met5=mydata$Met5, Met6=mydata$Met6),
                     simplify = TRUE)
Je voudrais adapter le FUN=sum pour avoir la somme des poids à la place des 1 pour les espèces. C'est à dire retrouver les 644, 10 et 238 pour la première ligne.
J'ai fait plusieurs tests infructueux que je n'ose même pas poster.....
Il est important de pouvoir garder les 8 premières colonnes !

Merci pour votre aide.
A +

Muriel.