Modérateur : Groupe des modérateurs
Code : Tout sélectionner
dta<-structure(list(Espece = c("Chaboisseaux épine courte", "Chaboisseaux à épines courte","Chaboissedaux à épines courtes", "Chaboisseau à épine courte","Capelan", "Morue boréale", "Capelan", "Morue polaire"),
nombre = c(10L, 5L,3L, 30L, 100L, 10L, 10L, 10L)), class = "data.frame", row.names = c(NA,-8L))
#le jeu de donnée d'origine avec une modification pour avoir 2 types de morue
dta
Espece nombre grp
1 Chaboisseaux épine courte 10 Chaboisseaux
2 Chaboisseaux à épines courte 5 Chaboisseaux
3 Chaboissedaux à épines courtes 3 Chaboissedaux
4 Chaboisseau à épine courte 30 Chaboisseau
5 Capelan 100 Capelan
6 Morue boréale 10 Morue
7 Capelan 10 Capelan
8 Morue polaire 10 Morue
#on crée un data.frame contenant toute les espèces et leur groupement :
l_modif<-data.frame(origin=c("Chaboisseaux épine courte", "Chaboisseaux à épines courte","Chaboissedaux à épines courtes", "Chaboisseau à épine courte","Capelan", "Morue boréale", "Morue polaire"), nouveau=c("Chaboisseaux", "Chaboisseaux","Chaboisseaux", "Chaboisseaux","Capelan", "Morue", "Morue"))
l_modif
origin nouveau
1 Chaboisseaux épine courte Chaboisseaux
2 Chaboisseaux à épines courte Chaboisseaux
3 Chaboissedaux à épines courtes Chaboisseaux
4 Chaboisseau à épine courte Chaboisseaux
5 Capelan Capelan
6 Morue boréale Morue
7 Morue polaire Morue
On ajoute une colonne aux données avec le groupe :
dta$grp<-l_modif$nouveau[match(dta$Espece,l_modif$origin)]
dta
Espece nombre grp
1 Chaboisseaux épine courte 10 Chaboisseaux
2 Chaboisseaux à épines courte 5 Chaboisseaux
3 Chaboissedaux à épines courtes 3 Chaboisseaux
4 Chaboisseau à épine courte 30 Chaboisseaux
5 Capelan 100 Capelan
6 Morue boréale 10 Morue
7 Capelan 10 Capelan
8 Morue polaire 10 Morue
#On calcul les sommes par groupe
dta_grp<-aggregate(dta$nombre,list(dta$grp),sum)
> dta_grp
Group.1 x
1 Capelan 110
2 Chaboisseaux 48
4 Morue 20
Code : Tout sélectionner
dput(unique(dta$Espece))
c("Chaboisseaux épine courte", "Chaboisseaux à épines courte","Chaboissedaux à épines courtes", "Chaboisseau à épine courte","Capelan", "Morue boréale", "Morue polaire")
Code : Tout sélectionner
Data =Bilan
head(Bilan)
Code : Tout sélectionner
Bilan2=Bilan
Bilan2$Group=Bilan2$Espèce
head(Bilan2)
Code : Tout sélectionner
Anguille<-c("Anguille","Anguille d'amérique","Anguille d'Amérique")
Bilan2$Group[Bilan2$Group %in% c(Anguille),]= "ZAnguille"
Pierre-Marc Chouinard a écrit :Error in Bilan2$Group[Bilan2$Group %in% c(Anguille), ] = "ZAnguille" : [...] incorrect number of subscripts on matrix
Pierre-Marc Chouinard a écrit :Anguille<-c("Anguille d'amérique","Anguille d'Amérique","Anguille")
Bilan2$Group[Bilan2$Group %in% c("Anguille")]<- "ZAnguille" ======= Seul Anguille est remplacer par ZAnguille, les autres terme reste inchangés
Code : Tout sélectionner
Bilan2$Group[Bilan2$Group %in% Anguille] <- "ZAnguille"
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité