Ok, oui je comprends; pour les prochaines expériences, je ne referai pas la même erreur et je réfléchirai bien à tout cela à priori. Vos explications vont m'aider pour pouvoir justifier mes choix.
Pour moi (et ce que mon supérieur avait comme idée), il faut utiliser les années comme répétition et considérer les 3 périodes séparément comme ci-dessous car la période n'est pas une simple répétition (même si d'après votre description d'individu dans le message précédent, les mesures sont réalisées sur les mêmes individus) puisque le poids des racines évolue dans le temps et que les "traitements" ne sont pas réalisés de manière continue mais par exemple toutes les 3 ou 5 semaines selon les produits et par exemple un produit pourrait ne pas fonctionner à 3 mois et puis ralentir la croissance des racines à nouveau à 5 mois. Donc il faut que j'attribue les ID comme ceci (comme dans le fichier "file" en PJ).
Donc si je refais les analyses sur le fichier "file" j'obtiens ce résultat:par ex.:
var1 * Traitement = control * field.treatment1 = no * période = 3 mois * année = 1 --> ID = 1
var1 * Traitement = control * field.treatment1 = no * période = 3 mois * année = 2 -> ID = 1
var1 * Traitement = control * field.treatment1 = no * période = 3 mois * année = 3 --> ID = 1
var1 * Traitement = control * field.treatment1 = no * période = 5 mois * année = 1 --> ID = 2
var1 * Traitement = control * field.treatment1 = no * période = 5 mois * année = 2 --> ID = 2
var1 * Traitement = control * field.treatment1 = no * période = 5 mois * année = 3--> ID = 2
j'ai le message d'erreur:
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 fi<-read.csv2("file.csv.csv", na.strings = "NA",header = TRUE) dim(fi) head(fi) fi_2<-subset(fi, periode != "0month", select= c (ID, Variete, annee, periode , Traitement, field.treatment, poids_racines, taille_racines)) dim(fi_2) head(fi_2) str(fi_2) fi<-fi_2 fi$poids_racines<-as.numeric(fi$poids_racines) fi$taille_racines<-as.numeric(fi$taille_racines) library(lme4) #avec année-poids model.1<-lmer(fi$poids_racines~ (fi$field.treatment + fi$Traitement + fi$Variete + fi$periode)^2 + fi$annee + (1 |fi$ID)) ##SANS année-poids model.2<-lmer(fi$poids_racines~ (fi$field.treatment + fi$Traitement + fi$Variete + fi$periode)^2 + (1 |fi$ID))
et quand je veux comparer j'obtiens:> #avec année-poids
> model.1<-lmer(fi$poids_racines~ (fi$field.treatment + fi$Traitement + fi$Variete + fi$periode)^2 + fi$annee + (1 |fi$ID))
boundary (singular) fit: see ?isSingular
>
> ##SANS année-poids
> model.2<-lmer(fi$poids_racines~ (fi$field.treatment + fi$Traitement + fi$Variete + fi$periode)^2 + (1 |fi$ID))
boundary (singular) fit: see ?isSingular
Code : Sélectionner tout - Visualiser dans une fenêtre à part anova( model.1, model.2)> anova( model.1, model.2)
refitting model(s) with ML (instead of REML)
Data: NULL
Models:
model.2: fi$poids_racines ~ (fi$field.treatment + fi$Traitement + fi$Variete +
model.2: fi$periode)^2 + (1 | fi$ID)
model.1: fi$poids_racines ~ (fi$field.treatment + fi$Traitement + fi$Variete +
model.1: fi$periode)^2 + fi$annee + (1 | fi$ID)
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
model.2 48 3802.0 3988.6 -1853.0 3706.0
model.1 50 3789.4 3983.8 -1844.7 3689.4 16.578 2 0.0002512 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Warning message:
In optwrap(optimizer, devfun, x@theta, lower = x@lower, calc.derivs = TRUE, :
convergence code 3 from bobyqa: bobyqa -- a trust region step failed to reduce q







Répondre avec citation



Partager