Veröffentlicht am :
Statistik CREATION_INTERNE

Analyse eines Diallel-Experiments mit mehrgliedrigen Zufallseffekten

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript beginnt mit der Erstellung eines Datensatzes namens 'diallel'. Es simuliert Blütezeitdaten für Kreuzungen zwischen 8 verschiedenen Elternlinien, aufgeteilt in zwei Blöcke. Eine Besonderheit ist die Erstellung einer Variablen 'sym', um reziproke Kreuzungen zu identifizieren. Anschließend wird die Prozedur `PROC GLIMMIX` verwendet, um ein statistisches Modell anzupassen. Das Modell definiert 'block' als festen Effekt und mehrere Zufallseffekte, insbesondere einen mehrgliedrigen Effekt 'line', der aus den Eltern 'p' und 'm' mithilfe der Anweisung `EFFECT` konstruiert wird. Schließlich wird PROC PRINT verwendet, um einen Teil der Designmatrix der von GLIMMIX generierten Zufallseffekte anzuzeigen.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden vollständig im ersten DATA Step generiert. Eine `do`-Schleife strukturiert die Kreuzungen, und die `INPUT`-Anweisung liest die Blütezeitwerte direkt aus den im Code integrierten `datalines`.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP Block erstellt die Tabelle 'diallel'. Er verwendet verschachtelte Schleifen, um alle Kreuzungskombinationen zwischen 8 Eltern ('p' und 'm') zu generieren. Die Daten der Variable 'time' werden aus internen Datenzeilen (datalines) mithilfe des Indikators ' @@' gelesen, um mehrere Beobachtungen auf einer einzigen Zeile zu lesen.
Kopiert!
1DATA diallel;
2 label time = 'Flowering time in days';
3 DO p = 1 to 8;
4 DO m = 1 to 8;
5 IF (m ne p) THEN DO;
6 sym = trim(left(min(m,p))) || ',' || trim(left(max(m,p)));
7 DO block = 1 to 2;
8 INPUT time @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json;
9 OUTPUT;
10 END;
11 END;
12 END;
13 END;
14 DATALINES;
1514.4 16.2 27.2 30.8 17.2 27.0 18.3 20.2 16.2 16.8 18.6 14.4 16.4 16.0
1615.4 16.5 14.8 14.6 18.6 18.6 15.2 15.3 17.0 15.2 14.4 14.8 10.8 13.2
1731.8 30.4 21.0 23.0 24.6 25.4 19.2 20.0 29.8 28.4 12.8 14.2 13.0 14.4
1816.2 17.8 11.4 13.0 16.8 16.3 12.4 14.2 16.8 14.8 12.6 12.2 9.6 11.2
1914.6 18.8 12.2 13.6 15.2 15.4 15.2 13.8 18.0 16.0 10.4 12.2 13.4 20.0
2020.2 23.4 14.2 14.0 18.6 14.8 22.2 17.0 14.3 17.3 9.0 10.2 11.8 12.8
2114.0 16.6 12.2 9.2 13.6 16.2 13.8 14.4 15.6 15.6 15.6 11.0 13.0 9.8
2215.2 17.2 10.0 11.6 17.0 18.2 20.8 20.8 20.0 17.4 17.0 12.6 13.0 9.8
23;
24RUN;
2 Codeblock
PROC GLIMMIX
Erklärung :
Dieser Block verwendet die GLIMMIX-Prozedur für die statistische Analyse. 'class' definiert die Klassifikationsvariablen. Die Anweisung `effect line = mm(p m)` erstellt einen mehrgliedrigen Effekt 'line' aus den Variablen 'p' und 'm'. Das Modell wird mit 'time' als abhängiger Variable, 'block' als festem Effekt und 'line', 'sym', 'p', 'm' sowie deren Interaktion 'p*m' als Zufallseffekten definiert. Die Option `outdesign(z)=zmat` speichert die Designmatrix der Zufallseffekte in einer Tabelle 'zmat'.
Kopiert!
1PROC GLIMMIX DATA=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;
6RUN;
3 Codeblock
PROC PRINT
Erklärung :
Dieser Block zeigt die ersten 10 Beobachtungen der Tabelle 'zmat' (erstellt von PROC GLIMMIX) an, bei denen die Variable 'block' gleich 1 ist. Er gibt die Variablen 'p', 'm', 'time' und die ersten 8 Spalten der Designmatrix der Zufallseffekte (_z1 bis _z8) aus.
Kopiert!
1 
2PROC PRINT
3DATA=zmat(where=(block=1) obs=10);
4var p m time _z1-_z8;
5RUN;
6 
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : S A S S A M P L E L I B R A R Y