Bonjour,
Je suis actuellement en train de développer un script me permettant de calculer des taux de croissance basés sur le poids pour chaque individu ainsi que de récupérer le taux de croissance maximal au cours du temps (également pour chaque individu) et l’âge auquel ce taux de croissance correspond.
Un extrait de mes données :
Le script que j’ai rédigé :
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
21 Individual Age Weight Ind1 1 52.84846 Ind1 2 55.24094 Ind1 3 58.69186 Ind1 4 63.07099 Ind1 5 68.2912 Ind1 6 74.28564 Ind1 7 80.99898 Ind1 8 88.38326 Ind1 9 96.39554 Ind2 1 52.24302 Ind2 2 54.86406 Ind2 3 58.74473 Ind2 4 63.75136 Ind2 5 69.78921 Ind2 6 76.78161 Ind2 7 84.66206 Ind2 8 93.37037 Ind2 9 102.8507
J’obtiens alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 datatest <- read.table("Test16082017.txt", header = T) datatest[,4]<-NA datatest[,5]<-NA datatest[,6]<-NA names(datatest)[4:5:6]<-c("GrowthRate","MaxGC","AgeMaxGC") head(datatest) library(dplyr) datatest<-datatest %>% group_by(Individual) %>% mutate(GrowthRate=(lead(Weight)- Weight)/ Weight,MaxGC=max(GrowthRate,na.rm=TRUE),AgeMaxGC=datatest$Age[which(datatest$GrowthRate==max(datatest$GrowthRate,na.rm=TRUE))]) head(datatest)
IEn vérifiant les calculs, le taux de croissance et le taux de croissance maximal sont bien calculés. Par contre, je me suis aperçue que l’âge qui devrait correspondre au taux de croissance maximal pour l’individu, correspond en réalité au taux de croissance maximal de tout le jeu de données. Je ne vois absolument pas où mon script pêche pour avoir l’âge par individu…
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ndividual Age Weight GrowthRate MaxGC AgeMaxGC Ind1 1 52.84846 0.045271 0.091165 6 Ind1 2 55.24094 0.06247 0.091165 6 Ind1 3 58.69186 0.074612 0.091165 6 Ind1 4 63.07099 0.082767 0.091165 6 Ind1 5 68.2912 0.087778 0.091165 6 Ind1 6 74.28564 0.090372 0.091165 6 Ind1 7 80.99898 0.091165 0.091165 6 Ind1 8 88.38326 0.090654 0.091165 6 Ind1 9 96.39554 0.089226 0.091165 6
Je vous remercie beaucoup pour l’aide que vous pourriez m’apporter.
Aurélie
Partager