Impact du sexe sur la période1

Một phần của tài liệu (Luận văn thạc sĩ) phân tích các phép đo liên tục nhiệt độ bên trong của lợn tìm kiếm các mô hình dự đoán phản ứng của động vật đối với ứng suất nhiệt (Trang 56 - 76)

6.1 Impact du sexe sur les paramètres du modèle

6.1.4 Impact du sexe sur la période1

Pour connaˆıtre l’influence du sexe sur la période1, j’ai utilisé le t-test. Les résultats ci-dessous indiquent que la p-value est de 0.70. Ce qui est supérieur à 0.05. On rejette l’hypothèse qui stipule que la période1 moyenne des porcs du sexe masculin est significativement différente de celle du sexe féminin avec une p-value = 0.7.

Welch Two Sample t-test

data: Periode1_Mean by sexe t = -0.42, df = 3, p-value = 0.70

alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval:

-2.03 1.55

sample estimates:

mean in group 1 mean in group 3

8.60 8.84

7 Analyses de sensibilité séquentielles à une seule variable

L’analyse de sensibilité globale est un outil essentiel pour les modélisateurs dans tous les do- maines d’application. Son but est de quantifier et de comparer l’influence de paramètres incer- tains (ou d’autres variables d’entrée) sur la sortie d’un modèle donné. Ainsi, avons-nous fait l’analyse de sensibilité globale de nos paramètres pour voir leur influence sur la réponse de l’ani- mal. Sur la figure 25 ci-dessus, la subdivision supérieure montre les valeurs de sortie extrêmes,

inter-quartiles et médianes à toutes les périodes de temps. La subdivision inférieure représente les indices de sensibilité à toutes les périodes de temps pour les principaux effets et les inter- actions de premier ordre. Dans la partie inférieure de la figure 37 , les indices de sensibilité au temps sont donnés par les longueurs des différentes couleurs le long de la barre de progression verticale du temps (t4, t9, t14, t19). Cela insinu que tout au long de la journée, le mesor est le paramètre qui influe le plus sur la réponse de l’animal. De 0h à 2 h et de 21h à 23 h nous constatons comme l’indique la couleur verte de la figure 25 que la température de l’animal est moyennement sensible aux amplitudes. Entre 3h et 9h et 15h à 21h, la température de l’animal est moyennement sensible aux phases. De 10h à 15h, la température de l’animal est sensible aux périodes. La conclusion qui en découle est que le mésor est le paramètre qui influe sur la réponse de l’animal. Les autres paramètres influent aussi sur la réponse de l’animal mais à des heures précises de la journée et à faible proportion.

Figure IV.12 – Influence des paramètres sur la réponse de l’animal

8 Conclusion

En somme, ce chapitre a été consacré aux résultats de notre travail. Nous constatons que notre modèle s’ajuste bien à nos données et le taux d’erreur est relativement faible. L’analyse de la sensitivité des paramètres nous renseigne que le mésor est le paramètre qui joue beaucoup sur la réponse de l’animal et donc sur le modèle.

9 Conclusion générale

Ce mémoire - ci, présente le travail réalisé tout au long de mon stage au sein de l’équipe Alinut à l’Institut National de Recherche Agronomique. L’objectif du stage était de modéliser les rythmes nycthéméraux de la température corporelle du porc et de voir sur les paramètres du modèle l’impact du sexe. Pour atteindre ces objectifs, la première approche était de faire un état de l’art sur les modèles mathématiques existants dans la littérature et ensuite l’approche statistique utilisée consiste à concevoir un modèle mixte composant le modèle cosinor à 4 composantes et la régression non linéaire sur un animal et ensuite l’appliquer sur tous les animaux du jeu de données et voir l’impact des facteurs sexe sur les paramètres du modèle. J’ai utilisé l’analyse de sensitivité pour pouvoir voir l’influence des paramètres sur la réponse de l’animal.

Ce stage m’a permis en premier lieu d’appliquer les connaissances théoriques sur un projet concret. En second lieu, il m’a permis d’approfondir mes connaissances dans la modélisation en générale et en particulier celle des rythmes nycthéméraux de la température corporelle du porc.

Pour terminer, il m’a permis de me familiariser avec le logiciel R . Ce rapport contenant quelques scripts en R doit servir à tout chercheur qui aimerait faire une modélisation générale dans la chrono-biologie et en particulier des rythmes nycthéméraux de la température corporelle.

ANNEXES

#installation of packages install.packages("dplyr") install.packages("tidyr") install.packages("tidyverse") install.packages("reshape") install.packages("ggplot2") install.packages("lubridate") install.packages("data.table") install.packages("psych") install.packages("nls2") install.packages("nlme") install.packages("multisensi") install.packages("matrixStats")

#import packages require(minpack.lm) library(dplyr) library(tidyr) library(tidyverse) library(reshape) library(ggplot2) library(lubridate) library(data.table) library(psych) library(nlme) library(nls2) library(multisensi) library(matrixStats) library(gridExtra)

##setup work directory and import data

setwd("C:/Users/egnofam/Documents/stage_analyse_temporelle/donnees/good_data") info_porc<-read.csv2("info_porc.csv") #load csv file infoc_porc

t_corporelle<-read.csv2("t_corporelle.csv") #load csv file fichier t_corporelle

#preprocessing

merge_reprise<-left_join(t_corporelle,info_porc,by="Id")#merge of t_corporelle and info_porc

#delete some non needed columns after merging merge_reprise<-merge_reprise %>%

select(-X.x,-X.y)

#transform data into Date types

merge_reprise$Date_naiss=as.Date(merge_reprise$Date_naiss,format="%d/%m/%Y") merge_reprise$Date1=as.Date(merge_reprise$Date1,format="%d/%m/%Y")

merge_reprise$Date_Utc=as.POSIXct(merge_reprise$Date_Utc,format="%d/%m/%Y %H:%M", tz=

"UTC")

merge_reprise$Date=as.Date(merge_reprise$Date_Utc,format="%d/%m/%Y")

#change the type factor of the temperature into numeric type

merge_reprise$Temperature<-as.numeric(as.character(merge_reprise$Temperature))

#compute the age of the pig and change difftime type into numeric

merge_reprise$Age<-as.numeric(merge_reprise$Date-merge_reprise$Date_naiss)

#sexe data frame

Id.Sexe<-data.frame(Id=c("3270","3343","3626","3.60E+04","323a","346e",

"3390","3393","3707","354f","381a","1524","165b",

"124b","122c","122f","134b","118d","1643","139f","1265"), sexe=c(3,1,3,3,3,1,1,3,1,1,1,3,3,1,1,3,3,1,3,3,1))

Id.Sexe1<-data.frame(Id= c("3270","3343","3626","3.60E+04",

"323a","346e","3390","3393","3707","308d",

"354f","381a","1524","165b","124b","122c",

"122f","134b","1231","118d","1643","139f",

"1265","110f"),

sexe=c(3,1,3,3,3,1,1,3,1,3,1,1,3,3,1,1,3,3,1,1,3,3,1,1))

# delete the last day for all animals (delete each last row because of slaughter) ID<-unique(merge_reprise$Id)

for(i in 1:length(ID)){

merge_reprise=merge_reprise[-dim(merge_reprise)[1],]

}

#delete rows where date are inferior than date1 and where temperature are < 37.5 merge_reprise<-merge_reprise %>%

filter(Date>=Date1+1) %>%

filter(Temperature>=37.5) %>%

filter(Temperature <=41)

#Here we will keep only anaimals who have at least

#one temperature each hour. Then we will compute the mean by hour merge_reprise<-merge_reprise %>%

mutate(hour = as.integer(format(Date_Utc, "%H")))%>%

filter(all(0:23 %in% hour))

################### DESCRIPTIVE ANALYSE ######################

#summary of temeperature

summary(merge_reprise$Temperature)

#structure of temperature

str(merge_reprise$Temperature)

#standard deviation of temperature sd(merge_reprise$Temperature)

#variance of temperature var(merge_reprise$Temperature)

# plot histogram to see the distribution of temperature hist(merge_reprise$Temperature, breaks =100, freq = TRUE,

main = "distribution de la temperature",

xlab="temperature interne, ?C",", ylab=’frequence",col = "darkred") boxplot(merge_reprise$Temperature,col="darkred",

cex.axis=0.8,cex.lab=0.8,ylab="Temperature")

#sexe

table(merge_reprise$Sexe)

#frequence of sexe

barplot(table(merge_reprise$Sexe),col="darkred",

main="Distribution du sexe",xlab="sexe",ylab="Effectifs")

#pie plot

colors<-c("gray","lightgreen")

pie(table(merge_reprise$Sexe),col=colors, main="Repartition du sexe",

labels=round(table(merge_reprise$Sexe) /nrow(merge_reprise),digits=3)) legend("bottomleft", xpd = TRUE, legend =

unique(merge_reprise$Sexe),fill=colors)

#compute the model to fit animals : our model contains data and the time

#in data we have M=mesor and 4 amplitudes noted as : A1,A2,A3,A4,

#4 phases noted as: ph1,ph2,ph3,ph4 and 4 periodes : pe1,pe2,pe3,pe4

model<- function(data,t) {

data$M+data$A1*cos(2*pi*t/data$pe3+data$ph2)+

data$A4*cos(2*pi*t/data$pe6+data$ph5)+

data$A7*cos(2*pi*t/data$pe8+data$ph9)+

data$A10*cos(2*pi*t/data$pe11+data$ph12) }

## parameter values used to simulate data p <-list(M=39.89438,A1=0.426806,ph2=-117.785,

pe3=8,A4=0.0407673,ph6=-85.832,pe5=24, A7=0.161942,ph9=85.832,pe8=12,

A10=0.0748196,ph12=-38.294,pe11=6)

## residual function

residFun <- function(p, observed, xx) observed - model(p,xx)

## starting values for parameters

parStart <- list(M=39.89438,A1=0.426806,

ph2=-117.785,pe3=8,A4=0.05,ph5=-85.832,pe6=24,

A7=0.05,ph9=85.832,pe8=12,A10=0.05,ph12=-38.294,pe11=6)

###################### Work on one animal whose id is 3343 ######################

#hour#

one_Animal<-merge_reprise[merge_reprise$Id==3343,]# data frame of one animal

# mean of the temperature of this animal by hour one_Animal_Hour<-setDT(one_Animal)[,

.(Moyenne_Temperature=mean(Temperature)),.(Id,hour)]

mth_One_Animal <- ggplot(data=one_Animal_Hour, aes(x=hour,y=Moyenne_Temperature)) +geom_point() +

xlab("temps (h)") + ylab("temperature moyenne de l’animal dont l’id est 3343") print(mth_One_Animal)#we print the mean of temperature by hour of this animal

## perform fit with one animal by hour

nls.out <- nls.lm(par=parStart,lower=c(M=37.5,A1=0.05, ph2=-360,pe3=1,A4=0.05,ph5=-360, pe6=1,A7=0.05,ph9=-360,pe8=1,A10=0.05, ph12=-360,pe11=1),upper =c(M=41.5,A1=4,

ph2=360,pe3=24,A4=4,ph5=360,pe6=24,A7=4,ph9=360, pe8=24,A10=4,ph12=360,pe11=24),fn = residFun, observed =one_Animal_Hour$Moyenne_Temperature, xx = one_Animal_Hour$hour,

control = nls.lm.control(nprint=1,maxiter = 1024))

## plot model evaluated at final parameter estimates one_Animal_Hour_test=data.frame(hour=0:23,

temperature=model(as.list(coef(nls.out)), one_Animal_Hour$hour)) mth_One_Animal + geom_line(data=one_Animal_Hour_test,

aes(x=hour,y=temperature),colour="#339900", size=1)

#date#

# mean of the temperature of this animal by hour one_Animal_Date <- setDT(one_Animal)[,

.(Moyenne_Temperature=mean(Temperature)),.(Id,Date,hour)]

mtd_One_Animal <- ggplot(data=one_Animal_Date, aes(x=hour,y=Moyenne_Temperature)) +

geom_line() + xlab("temps (date)") +

ylab("temperature moyenne par heure et par date de l’animal dont l’id = 3343") + facet_wrap(~ Date)

print(mtd_One_Animal)#we print the mean of temperature by hour of this animal and by date

## perform fit with one animal by date during his life

udate=unique(one_Animal_Date$Date) #we keep unique dates into udate variable donnees_one_Animal.est=data.frame()#we declare data frame which will stock the

estimated parameters of the animal

gpred_one_Animal=NULL # we initialise the prediction of one animal

#for each date, we intialise starters parameters and we fit the model and we save parameters into donnees_one_Animal.est

#and we make predictions with this parameters for (i in 1:length(udate)) {

parStart <- list(M=mean(one_Animal_Date[one_Animal_Date$Date==

udate[i]]$Moyenne_Temperature),A1=0.426806, ph2=-117.785,pe3=8,A4=0.0407673,ph5=-85.832, pe6=24, A7=0.161942,ph9=85.832,pe8=12, A10=0.0748196,ph12=-38.294,pe11=6)

fit_temp_time_one_Animal<-nls.lm(par=parStart,lower=

c(M=37.5,A1=0.001,ph2=-360,pe3=1, A4=0.001,ph5=-360,pe6=1,A7=0.01,

ph9=-360,pe8=1,A10=0.01,ph12=-360,pe11=1), upper =c(M=41.5,A1=4,ph2=360,pe3=24, A4=4,ph5=360,pe6=24,A7=4,ph9=360,

pe8=24,A10=4,ph12=360,pe11=24),fn = residFun, observed=one_Animal_Date[one_Animal_Date$Date==

udate[i]]$Moyenne_Temperature

,xx =one_Animal_Date[one_Animal_Date$Date==udate[i]]$hour , control = nls.lm.control(maxiter = 200,nprint=1))

#

donnees_one_Animal.est <-

rbind(donnees_one_Animal.est,coef(fit_temp_time_one_Animal)) gpred_one_Animal <-

c(gpred_one_Animal,model(as.list(coef(fit_temp_time_one_Animal)), one_Animal_Date[one_Animal_Date$Date==udate[i]]$hour) )

}

#we name all the parameters names(donnees_one_Animal.est) <-

c("Mesor","Amp1","phase1","periode1","Amp2","phase2",

"periode2","Amp3","phase3","periode3","Amp4","phase4","periode4")

#regrouper les dates uniques de chaque Id et les renommer

#we group each unique date of each Id and we rename variables of data frame (gnof_pred_one_Animal)

donnees_one_Animal.est<- cbind(unique(one_Animal_Date %>%

select(Date)),donnees_one_Animal.est) gnof_pred_one_Animal<-data.frame(one_Animal_Date$Id,

one_Animal_Date$hour,gpred_one_Animal=gpred_one_Animal) gnof_pred_one_Animal<-cbind(gnof_pred_one_Animal,

one_Animal_Date$Date) names(gnof_pred_one_Animal)<-

c("Id","hour","gpred_one_Animal","Date")

#print prediction with original data

mtd_One_Animal+geom_line(data=gnof_pred_one_Animal,mapping=

aes(x = hour,y=gpred_one_Animal,color="darkgreen"))

# we print the evolution of mesor by date

mesor_3343<-ggplot(data = donnees_one_Animal.est, aes(x=Date,y=Mesor))+geom_line(color="darkgreen") print(mesor_3343)

###################### Work on all animals ######################

#compute the mean of the temperature by date and by Id

#data frame to stock the mean of temperature by date mean_temperature_D=setDT(merge_reprise)[,

.(Moyenne_Temperature=mean(Temperature)),.(Id,Date)]

mean_temperature_D<-left_join(mean_temperature_D,

Id.Sexe1,by="Id") #we join the Id columns to the dataframe mtdi<-ggplot(mean_temperature_D,aes(x=Date,

y=Moyenne_Temperature,color=factor(Id)))+ geom_line()+

labs(title="Moyenne de temperature par date de tous les animaux pendant toute leur vie",

x="Date",y="Moyenne Temperature / date") print(mtdi) #we print the mtdi

#BY SEX

mtdi+facet_wrap(~sexe) #we print mtdi by sexe

#compute the mean of the temperature by date, by hour and by Id mean_temperature_D_H=setDT(merge_reprise)[,

.(Moyenne_Temperature=mean(Temperature)),.(Id,hour,Date)]

mean_temperature_D_H<-left_join(mean_temperature_D_H,Id.Sexe1,by="Id") mtdhi<-ggplot(mean_temperature_D_H,aes(x=Date,y=Moyenne_Temperature,

color=factor(sexe)))+geom_line()+

labs(title="Moyenne de temperature par date/heure de tous les animaux pendant toute leur vie ",

x="Date",y="Moyenne Temperature / date")

#by Id

mtdhi+facet_wrap(~Id)#we print mtdhi

#compute the mean of the temperature by id and by hour for all animals

#data frame of all animals by id and by hour mean_temperature_H<-setDT(merge_reprise)[,

.(Moyenne_Temperature=mean(Temperature)), .(Id,hour)]

mean_temperature_H<-left_join(mean_temperature_H, Id.Sexe1,by="Id")

mthi<-ggplot(mean_temperature_H,aes(x=hour,

y=Moyenne_Temperature,color=factor(Id)))+geom_line()+

labs(title="Moyenne de temperature par heure et par Id de 5 jours ? 153 jours (durant leur vie)",

x="hour",y="Moyenne Temperature") print(mthi)

#use facetwrap to plot all animals for hour by sex mthi+facet_wrap(~sexe)

#use facetwrap to plot all animals for Date by sex mtdi+facet_wrap(~sexe)

#use facetwrap to plot all animals for hour by Id mthi+facet_wrap(~Id)

#use facetwrap to plot all animals for Date by Id mtdi+facet_wrap(~Id)

# loop by id

Idun=unique(mean_temperature_H$Id) #unique Id

#initialize the data frame to stock parameters when fitting the model to animals temperature

donnees.hour_All_Animal.est <- data.frame()

#initialisation of the variable to stock residual sum of square r1=data.frame()#to stock RSS

r2=data.frame(unique(mean_temperature_H$Id)) #to stock Id

#initialisation de la variable prediction gpred_All_Animal <- NULL

#we loop each id to fit them for (i in 1:length(Idun)) {

parStart <- list(M=mean(

mean_temperature_H[mean_temperature_H$Id==Idun[i],]$

Moyenne_Temperature),A1=0.426806,ph2=-117.785, pe3=8,A4=0.0407673,ph5=-85.832,pe6=24, A7=0.161942, ph9=85.832,pe8=12,A10=0.0748196,ph12=-38.294,pe11=6) fit_temp_time_all_i<-nls.lm(par=parStart,

lower=c(M=37.5,A1=0.001,ph2=-360,pe3=1,A4=0.001, ph5=-360,pe6=1,A7=0.01,ph9=-360,pe8=1,A10=0.01,

ph12=-360,pe11=1), upper =c(M=41.5,A1=4,ph2=360,pe3=24, A4=4,ph5=360,pe6=24,A7=4,ph9=360,

pe8=24,A10=4,ph12=360,pe11=24),fn = residFun, observed=mean_temperature_H[mean_temperature_H$Id==

Idun[i],]$Moyenne_Temperature,xx =

mean_temperature_H[mean_temperature_H$Id==Idun[i],]$hour,

control = nls.lm.control(maxiter = 150,nprint=2))

#

donnees.hour_All_Animal.est <- rbind(

donnees.hour_All_Animal.est,coef(fit_temp_time_all_i)) gpred_All_Animal <- c(gpred_All_Animal,

model(as.list(coef(fit_temp_time_all_i)), 0:23) ) r1=rbind(r1,fit_temp_time_all_i$deviance)

}

r2=cbind(r2,r1) # RSS of each animal

names(r2)=c("Id","RSS") #column name of r2 data frame names(donnees.hour_All_Animal.est) <- c("Mesor","Amp1",

"phase1","periode1","Amp2","phase2","periode2","Amp3",

"phase3","periode3","Amp4","phase4","periode4")

#we bind the id column to estimated parameters dataframe

donnees.hour_All_Animal.est<- cbind(Id.Sexe1,donnees.hour_All_Animal.est)

#Each individual animal predicted for all animals during hours gnof_pred_All_Animal=data.frame(mean_temperature_H$Id,

mean_temperature_H$hour,gpred_All_Animal=gpred_All_Animal) names(gnof_pred_All_Animal)=c("Id","hour","gpred_All_Animal") mthi + geom_line(data=gnof_pred_All_Animal, aes(x=hour,

y=gpred_All_Animal), colour="#339900", size=1)+ facet_wrap(~ Id)

#

mean_Temperature_D_Alldays<-setDT(merge_reprise)[,

.(Moyenne_Temperature=mean(Temperature)),.(Id,Date,hour,Sexe)]

subset_All=setDT(merge_reprise)[,

.(Moyenne_Temperature=mean(Temperature)),.(Id,Date,hour)]

#fit the model to all animals by date of their life gpred_Date_All_Animal <- NULL #data frame for predictions

donnees_Date_All_Animals.est=data.frame()#data frame to stock parameters

data_All_Animals<-data.frame()#data frame to bind donnees_dates and data_All_Animals donnees_dates<-data.frame()

#initialisation de la variable pour stocker r au carr rd1=data.frame() #to stock RSS by date

rd2=data.frame(unique(subset_All$Id)) #to stock Id Idun=list(’3270’,’3343’,’3626’,’3.60E+04’,’323a’,

’346e’,’3390’,’3393’,’3707’,’308d’,’354f’,’381a’,

’1524’,’165b’,’124b’,’122c’,’122f’,

’134b’,’1231’,’118d’,’1643’,’139f’,’1265’,’110f’)

for (j in 1:length(Idun)) {

u=unique(subset_All[subset_All$Id==Idun[j],]$Date)

subset_data_j = mean_Temperature_D_Alldays[mean_Temperature_D_Alldays$Id==Idun[j],]

for (i in 1:length(u)) { parStart <-

list(M=mean(subset_data_j[subset_data_j$Date==u[i]]$Moyenne_Temperature), A1=0.426806,ph2=-117.785,pe3=8,A4=0.0407673,ph5=-85.832,pe6=24, A7=0.161942,ph9=85.832,pe8=12,A10=0.0748196,ph12=-38.294,pe11=6) fit_temp_time_All<-nls.lm(par=parStart,lower=c(M=37.5,A1=0.001,ph2=-360,pe3=1,

A4=0.001,ph5=-360,pe6=1,A7=0.01,ph9=-360, pe8=1,A10=0.01,ph12=-360,pe11=1)

, upper

=c(M=41.5,A1=4,ph2=360,pe3=24,A4=4,ph5=360,pe6=24,A7=4, ph9=360,pe8=24,A10=4,ph12=360,pe11=24),

fn = residFun,observed=

subset_data_j[subset_data_j$Date==u[i]]$Moyenne_Temperature ,xx =subset_data_j[subset_data_j$Date==u[i]]$hour

, control = nls.lm.control(maxiter= 200,nprint=1)) donnees_Date_All_Animals.est <- rbind(donnees_Date_All_Animals.est,

coef(fit_temp_time_All)) donnees_dates<-rbind(donnees_dates,

unique(subset_data_j[subset_data_j$Date==u[i]] %>% select(Date,Id,Sexe))) gpred_Date_All_Animal <-

c(gpred_Date_All_Animal,model(as.list(coef(fit_temp_time_All)), subset_data_j[subset_data_j$Date==u[i]]$hour)) rd1=rbind(rd1,fit_temp_time_all_i$deviance)

} }

rd2=cbind(rd2,rd1) names(rd2)=c("Id","RSS")

names(donnees_Date_All_Animals.est)<-c("Mesor","Amp1",

"phase1","periode1","Amp2","phase2","periode2",

"Amp3","phase3","periode3","Amp4","phase4","periode4")

donnees_Date_All_Animals.est<-cbind(donnees_dates,donnees_Date_All_Animals.est)

length(gpred_Date_All_Animal) length(subset_All$Id)

gpred_Date_All_Animal=data.frame(subset_All$Id,subset_All$Date,subset_All$hour, gpred_Date_All_Animal=gpred_Date_All_Animal)

#gnof_pred_All=cbind(gnof_pred_All,subset_All$Date)

names(gpred_Date_All_Animal)=c("Id","Date","hour","gpred_Date_All_Animal")

#Evolution of mesor by Id

mesor_All<-ggplot(bernard,aes(x=Date,y=Mesor,color=factor(Id)))+

geom_line()+

labs(title="Evolution du m?sor ",x="Date",y="Mesor / date") print(mesor_All)

mesor_All+facet_wrap(~ Id)

#by sexe

mesor_All+facet_grid(Id ~ Sexe)

#mesor_All+facet_grid(Sexe ~ Id)

################################### LACTATION ##################################

#Here we will filter the age of pig and keep in the data set age inferior than 28 merge_reprise_lactation=merge_reprise %>% filter(Age <28 )

#date

#compute the mean of tempearature by id and by date during lactation mean_temperature_date_lactation= setDT(merge_reprise_lactation)[,

.(moyenne_Temperature=mean(Temperature)), .(Id,Date,hour)]

#plot with ggplot

mtdli=ggplot(mean_temperature_date_lactation,aes(x=hour, y=moyenne_Temperature, color=factor(Id)))+geom_line()+

labs(title="Moyenne de temperature par Date pendant la lactation pour tous les animaux",x="Date",y="Moyenne Temperature")

#

mtdli+facet_wrap(~ Date)

#hour

#compute the mean of tempearature by id and by hour during lactation mean_temperature_hour_lactation= setDT(merge_reprise_lactation)[,

.(moyenne_Temperature=mean(Temperature)), .(Id,hour)]

#plot with ggplot

mthli=ggplot(mean_temperature_hour_lactation,aes(x=hour, y=moyenne_Temperature, color=factor(Id)))+geom_line()+

labs(title="Moyenne de temperature par heure pendant la lactation pour tous les animaux",x="hour",y="Moyenne Temperature")

#print(mthl)

#

mthli+facet_wrap(~ Id)

#perform fit for lactation

# boucle by id

Idun_L=unique(mean_temperature_hour_lactation$Id) donnees.All_Animal.Lactation.est <- data.frame()

#initialisation de la variable pour stocker r au carr?

rl1=data.frame()

rl2=data.frame(unique(mean_temperature_hour_lactation$Id))

#initialisation de la variable prediction gpred_All_Animal_Lactation <- NULL

for (i in 1:length(Idun_L)) {

Một phần của tài liệu (Luận văn thạc sĩ) phân tích các phép đo liên tục nhiệt độ bên trong của lợn tìm kiếm các mô hình dự đoán phản ứng của động vật đối với ứng suất nhiệt (Trang 56 - 76)

Tải bản đầy đủ (PDF)

(76 trang)