Le script commence par créer un jeu de données nommé 'diallel'. Il simule les données de temps de floraison pour des croisements entre 8 lignées parentales différentes, réparties en deux blocs. Une particularité est la création d'une variable 'sym' pour identifier les croisements réciproques. Ensuite, la procédure `PROC GLIMMIX` est utilisée pour ajuster un modèle statistique. Le modèle définit 'block' comme un effet fixe et plusieurs effets aléatoires, notamment un effet multi-membre 'line' construit à partir des parents 'p' et 'm' grâce à l'instruction `EFFECT`. Finalement, PROC PRINT est utilisé pour afficher une partie de la matrice de plan (design matrix) des effets aléatoires générée par GLIMMIX.
Analyse des données
Type : CREATION_INTERNE
Les données sont entièrement générées dans le premier DATA step. Une boucle `do` structure les croisements et l'instruction `INPUT` lit les valeurs de temps de floraison directement depuis les `datalines` intégrées au code.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP construit la table 'diallel'. Il utilise des boucles imbriquées pour générer toutes les combinaisons de croisements entre 8 parents ('p' et 'm'). Les données de la variable 'time' sont lues à partir des lignes de données internes (datalines) en utilisant l'indicateur '@@' pour lire plusieurs observations sur une même ligne.
Explication : Ce bloc utilise la procédure GLIMMIX pour l'analyse statistique. 'class' définit les variables de classification. L'instruction `effect line = mm(p m)` crée un effet multi-membre 'line' à partir des variables 'p' et 'm'. Le modèle est défini avec 'time' comme variable dépendante, 'block' comme effet fixe, et 'line', 'sym', 'p', 'm' et leur interaction 'p*m' comme effets aléatoires. L'option `outdesign(z)=zmat` sauvegarde la matrice de plan des effets aléatoires dans une table 'zmat'.
Copié !
proc glimmix data=diallel outdesign(z)=zmat;
class block sym p m;
effect line = mm(p m);
model time = block;
random line sym p m p*m;
run;
1
PROC GLIMMIXDATA=diallel outdesign(z)=zmat;
2
class block sym p m;
3
effect line = mm(p m);
4
model time = block;
5
random line sym p m p*m;
6
RUN;
3 Bloc de code
PROC PRINT
Explication : Ce bloc affiche les 10 premières observations de la table 'zmat' (créée par PROC GLIMMIX) où la variable 'block' est égale à 1. Il imprime les variables 'p', 'm', 'time' et les 8 premières colonnes de la matrice de plan des effets aléatoires (_z1 à _z8).
Copié !
proc print data=zmat(where=(block=1) obs=10);
var p m time _z1-_z8;
run;
1
2
PROC PRINT
3
DATA=zmat(where=(block=1) obs=10);
4
var p m time _z1-_z8;
5
RUN;
6
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : S A S S A M P L E L I B R A R Y
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.