Comments
Description
Transcript
検定林データの分散分析プログラム(PDF:669KB)
o o 唱EA rhu nノ“ qru B u l LF o r .T r e eB r e e d .C e n t e rN o . 1 5,1 9 9 8 ED 林育研報 検定林データの分散分析プログラム 宮浦富保 (1) TomiyasuM町AU臥 T r a n s f e ro ft h ea n a l y s i so fv a r i a n c ep r o g r a m sf o rt e s t i n gd a t af r o mN 8 8 B a s i ct oV i s u a lB a s i c N 8 8 B a s i cから V i s u a JB a s i cへ移植した。これらのプログラムは元々粟延晋 NEC社製のパーソナルコンヒ。ュータで動作する N 8 8 B a s i cのために作成されたものである N 8 8 B a s i cか i s u a JB a s i cへ移植する必要性を議論した。また,移植したプログラムの使用法を,テストデータを用いて,簡単に らV 要旨:検定林データの分散分析プログラムを 博士によって o 説明した。 1 はじめに 林木の検定データでは,検定林ごとの使用系統(家系あるいはクローン)が不揃いであったり,種々の理由に よりバランスしたデータを得ることが困難な場合が多くある。このようなデータについて分散分析を行うための 計算機プログラムが,林木育種センターの栗延晋博士によって開発されている o 1検定林ごとに分析するもの (LSQABS02.BAS) と.祷数検定林のデータを一括して分析するもの (LSQABS21 .BAS) の 2種類のプログラム がある。これらのプログラムを使って,いくつかの分析例が報告されている ラムを M i c r o s o f t杜の V i s u a lB a s i c( 3 2ビット版)へ移植したので 。今回は,これら二つのプログ 1-4) その操作法について報告する O 2 N88Basic版プログラムの内容 LSQABS02.BAS,LSQABS21 .BASともに,基本的には N 8 8 B a s i cインタープリターのもとで動作する。どちら のプログラムも,ブロックあたりの系統平均値をデータとして用いる仕様になっている。これらのプログラムで は,最小 2乗法を用いてブロックあたりの系統平均値を推定するので,検定林あるいはブロックごとに系統が不 揃いであっても,分散分析を行うことができる O LSQABS02.BASは,次の線型モデルに基づいて分析を行うプログラムであるI)。 y j k =μ + / 3 j + ya C j k ここで Y J 'は , j番目のブロックの k番目の系統(クローンあるいは家系)のプロット平均値, μ は全体の平均 (1)林木育稀センター東北育種場 -252- 林木育種センター研究報告 第l S号 y, は k番目の系統の効果 , ej.J は誤差である。 値 ,/ J j はj番目のブロックの効果 LSQABS21 .BASは,次の掠型モデルに基づいて分析を行うプログラムである 11。 υ Yk= μ+αi+α/3υ+γ k+ α γ ik+ e υ k ここで μ は ,1番目の検定林の j番目のブロックの k番目の系統のプロット平均値, μ は全体の平均値 i番目の検定林の効果,自 j丸は i番目の検定林の j番目のブロックの効果 a, は y, は k番目の系統の効果, α 咋γ これらのフプ。ロググ、ラムは,データのサイズがそれほど大きくなければ, N 88Basic上で問題なく実行できる。例え 0,ブロック数が 3,系統数が 2 0 0,形質数が 3程度のデータであれば, N88Basic上で解析可能 ば,検定林数が 1 である。しかしながら,特に権数検定林のデータを一括して分析するプログラムでは,検定林数がある程度多く なり,プログラムで読み込むデータの量が N 88Basicの言語仕様で決まっているメモリーの上限値を超えると, 分析ができなくなる。 3 V i s u a lBasicへの移植の必要性 現 在 , パ ー ソ ナ ル コ ン ビ ュ ー タ の オ ベ レ ー テ イ ン グ シ ス テ ム は , ほ と ん ど の 場 合 Windows3.1あるいは Windows95に移行している O 特にWi ndows95を使用している頻度はかなり高いと思われる O また, Windows95 の普及により,使用する計算機の機種が多様になってきている。 解析プログラムを V i s u a lB a s i cへ移植することにより, 1.操作が容易になる。 2. NEC製でないパーソナルコンビュータでも使用できる。 3 . メモリーの制約がなくなり,かなり大きなサイズのデータも扱うことができる。 などの点が改善される O 4 VisualBasic版プログラムの操作法 LSAB02VB このプログラムでは,テキスト (ASCII)形式でファイルに保存しておいたデータを読み込んで,計算結果を テキスト形式でファイルに出力する。 プログラムを起動すると,実行に必要な情報を入力するウインドウが開く(図1)。 Ca 1 c u l a t i o no fANOVAf o ras i n g l et e s ts i t e )"となっている。また このウインドウのタイトルは,“ LSAB02VB( ウインドウの右下に,“Ls qAbs02" という表示がある O このウインドウでは,データファイルの形式,データの サイズ,入力データファイルの場所 出力ファイルの名前等を指定する O “ d a t af i l e " の見出しの列には 3つの欄がある C 一番上の欄では,データファイルの保存されているドライブを 指定する。この欄の右側にある下向きの矢印をクリックすれば,計・算機で使用できるドライブのリストが表示さ 検定林デ れるので,そのリストの中からデータファ v 2 5 3 タの分散分析プログラム 2番目の欄では,ヂータファ ﹁│判明回 u 岡 J ﹁ M剖 クリックする 匝陣 E園田園町置田町岡田E圃圃置軍園田珊盟4_i~IDlxl イルの保存されているドライブを選んで, 七 jE 罪 イ)1.-の保存されているフォルダー(ディレ 白伝説諭ゐ クトリー)を指定する。フォルダーのマー 臼配志罰百'A? 司E 語思a? クをダブルクリックすれば,そのフォル ダーの中のファイルが 3番 Hの欄に表不さ れる。目的のデータファイルが 3番目の欄 に表示されたら,そのファイル名をクリッ e s t 0 2 0 1 . d a t "と クする。図 lの例では,“t いうファイルが選ばれている。これで入力 同l.日AB02VBを起動したときの画面表示 データファイルの指定は終了である。 “ O u t p u td i r e c t o r y " の見出しの下に 2つの欄がある。このうち上の欄では,計算結果のファイルを出力するド ライブを指定する。また,下の欄では,出力先のフォルダーを指定する。 “ O u t p u t f i l e( * . t a b,* . p r m, 女. e s t )"の見出しのついた欄には,計算結果を出力するファイルの名前を,キー ボードから入力する。入力したファイル名に“t a b " “ prm", “e s t " という拡張子を付加した 3つのファイルが作 成される。例えば,“ t e s t 0 2 0 1 " というファイル名をこの欄に入力すれば,“ t e s t 0 2 01 . t a b ", “t 缶 e s 銑t O 位2 旧 0 l .prm “ t e 目s t ω 0 2 0 仙 l .e s t"という 3つのフアイルが作成される O “ t a b " の拡張子のついたファイルには,分散分析の結果が 出力される。“prm" の拡張子のついたファイルには,系統分散成分の係数,系統の平均平方和,系統の分散成 分.誤差の分散成分の値が抽出されている。“ e s t"の拡張子のついたファイルには,系統ごとの最小 2乗推定値 が出力される c “ S i t ec o d e " の欄には,解析の対象とする検定林の番号を入力する O “N o .o fB l o c k s ", “N o .o fF a m i l i e s "の欄に o .o fR e c o r d s " の欄には,データファイル は,それぞれ,その検定林のブロック数と植栽系統数を入力する。“ N の中にあるデータレコードの数を入力する O データレコードの数を確認していない場合には,ブロック数と系統 数の積の値を入力すればよ~ ¥ 0 “ N o .o fB lo c k s ", “N o .o fF a m i l i e s ", “N o .o fR e c o r d s "の欄に入力する数値は,プ ログラム内で配列変数等の領域を確保するために用いるものである。これらの数値の正確な値が分からない場合 には,実際のデータよりも大きめの数値を入力しておけばよ L 。 、 “ a g e の欄は,データの選択用に設けたものである。データレコードの使用,不使用を選択したい場合には, データレコードの所定の欄に数値を入れておけば,“ a g e の欄に入力した数値と一致するレコードだけを読み込 むことができる。もしもこのようなことをする必要がない場合には,データレコードのうち,空白のみしかない g e の欄には“ 0 " を入力する。 欄を指定し,“ a “ S t a r tp o s i t i o no fd a t a "の列には,検定林の番号,ブロック番号,系統番号などのデータの Iレコード内での開 始桁位置を入力する。“ N o .o fcolumnsf o radatum" の列には,それらのデータの桁数を入力する O 表 1に,凶AB02VBのためのテストデータ(データ1)を示す。この表の各欄の上段は形質 1のデータ,下段 は形質 2のデータを表している。このテストデータについて,データファイルを作成した例が図 2である。 林木育種センター研究報告 -2 5 4一 第1 5号 最初のカラムには検定林の番号を入力しである。複数の検定林 一の F 一今、 一 凋斗守, 63 4 7 60-22 dzu u c U n o 一 一qd pずれも 5桁ずつである O 会イ 崎町 00 uFhu 4 台賢一 dqu 58 F同 一υ タを 6番目のカラムに,それぞれ入力してある。カラムの幅は, 37 u 3 F 円 のカラムに,形質 lのデータを 5番目のカラムに,形質 2のデー 6一 3 2 一A nJιqu 。 一得、 qdpo ivF3 q J F D きる。 系統番号を 2番目のカラムに,ブロック(反復)番号を 3番目 反復2 っ け 一 反復 l 系統 一 E 。n U 4一 る場合には,検定林の番号によってデータの選択を行うことがで 表 1 . LSAB02VBのためのテストデータ(データ 1) 反 一 についてのデータを,ひとつのデータファイルの中に記録しであ 4番目のカラムには,調査時の林齢を入力しである。権数の年 消、..¥ 次のデータを,ひとつのデータファイルの中に記録しである場合 c , : : : ' S " 十 ψ! φ七 乃 ャ も には,このカラムの調査時林齢によってデータの選択を行うこと 2 3 がで、きる O 図 1に 示 し た 凶AB02VBプログラムの起動時の画面には,関 2 に示したテストデータのファイルを読み込むためのパラメータが 入力しである O 検定林の番号は I桁目から始まっており,ブロック番号は 1 1 桁目から,系統番号は 6桁目から,林齢は 1 6桁目から,形質 l のデータは 2 1桁目から,それぞれ始まっているので,“ S t a r t 2 2 2 3 3 4 4 2 3 3 2 一+一一一 1 一→ J 会 パ i サ バ 弘 、 30 3 2 34 33 34 36 37 42 35 38 5 1 53 57 56 58 60 65 72 58 63 --2一一+一一一3一一+ ← 桁 数 図 2. 日 AB02VBによる解析に用いるデータファイル p o s i t i o no fd a t a " の各欄にはこれらの数値が入力されている。 ここで,袴数の形質がある場合には,各形質の桁数を同じにして. 1レコード内に連続して並べておく必要が ある O そうすれば,形質の数,最初の形質の開始桁位置と 1データの桁数のみを,起動時のウインドウで入力す ることにより,それらのデータを読み込むことができる。 図 1に示したウインドウの“Watcht h ec a 1 cu l a t i o np r o c e d u r e " のボタンをクリックすれば,“ P r o c e d u r eo ft h e 1 cu l a t i o n " のタイトルのウインドウが現れる。このウインドウには,計算の途中で各種の数値が出力される c a O プログラムの実行経過を知るための参考となるであろう。 図 1に示したウインドウの左上の“ S t a r t "のボタンをクリックすると,プログラムの実行が始まる。また,“ End" 表2 . 1β.AB02VBでのデータ iについての解析結果の例 形質 各 形 質 ω分散分析表と分散成分 、 1 ' ) : ; 干 口 自由度 平均1 ' とか和 要因 ! 正 徳 系統 誤差 三 ! i .復 系統 誤差 J 2 3 4 2 3 4 2 8 . 0 4 8 7 8 . 4 6 4 1 .6 1 9 58.562 2 7 1 . 8 9 5 5 . 1 0 5 1 4 . 0 2 4 2 6 . 1 5 5 0.405 2 9 . 2 8 1 90.632 1 . 2 7 6 分散成分 t j l ;準 日f i ; [ 1 1 .0 3 6 0.405 7 . 0 9 0 0.234 38.295 1 .2 7 6 24.568 O .7 3 7 J 七分散りk〉 う 付1 I 主 ! 2 0 .309 0619 0988 0 . 8 6 1 形質 1 と形質 2ω 共分散分析去と J~ 分散成分 要因 反復 系統 民進 自由度 2 3 4 情干日 40.523 1 4 4 . 0 2 3 2 . 4 7 7 平 . t 6 JI 酎n 2 0 . 2 6 2 48.008 0619 ﹁同 υ FhJ v 7u 検定林デ タの分散分析プログラム のボタンあるいはウインドウの右上の“ x "のボタンをクリックす れば,このウインドウを閉じることができる 表3 . データ lについて計算された最小 2乗推定値 O 系統番号 データ 1のテストデータについて凶,AB02VBで解析した結果を, 表 2,3(こ示す。プログラム実行時の参考とされたい ο 1 2 LSAB21VB 4 形質 1 32.000 34.333 3 9 .524 3 7 .524 ミ ' 〉》 形質 2 5 3 .667 58.000 6 8 .562 61.962 このプログラムでも,テキスト (ASCII)形式でファイルに保存 しておいたデータを読み込んで,計算結果をテキスト形式でファイルに出力する。 プログラムを起動すると,実行に必要な情報を入力するウインドウが聞く(凶 3 )。 Ca 1 c u l a t i o no fANOVAf o rm u l t i p l eT e s tS i t e s ) " となっている O また このウインドウのタイトルは, "LSAB21 ( qAbs21" という表示がある。このウインドウでは,データファイルの形式,データの ウインドウの右下に,“Ls サイズ,入力データファイルの場所,出力ファイルの名前等を指定する。 “ LSAB02VB" の場合と同様に,“ d a t af i l e "の見出しの下にある 3つの欄で入力データファイルを指定する ま C た“ O u t p u t " の見出しの下にある 2つの欄で,計算結果のファイルを出力するドライブとフォルダー(ディレク トリー)を指定する。 “ Outputf i 1e " の見出しのついた欄には,計算結果を出力するファイルの名前を,キーボードから入力する。計 算を実行すると.入力した名前のついたファイルが指定されたフォルダーに作成される。このファイルには,形 質ごと,系統ごとの最小 2乗推定値司形質ごと l 干 ip --﹃州国 日盟誼圏直園盟圃!lIlI皿園理由圃圏mI!Ii園圃・・・・・・・・・・・・・・・・1 . 1 叫x l の分散分析表,分散成分,形質問の共分散分析 j 印刷 Jされる。 表,共分散成分などが出 } No,o fS i t e s " の欄には,解析の対象とする “ 斗E 布 用 デ ィ ス ウ は,検定林あたりのブロック数の最大値を入力 する。“ N o.o fFam i 1 ie s " の欄には唱すべての検 定林に植栽されている合計の系統数を入力す a g e N o .o fR e c o r d s " の欄には,データファイ るO “ N o . of T r . i t s ルの中にあるデータレコードの数を入力する。 日 目 iE一 斗碍t 酬 a 検定林の数を入力する。“ N o.o fB l o c k s "の欄に 図:).凶,AB21VBを起動したときの両面表示 データレコードの数を催認していない場合に 表4 . LSAB21VBのためのテストデータ(データ 2) は,検定林数とブロック数,系統数の積の数値 ‘ N o .o fB l o c k s ", " N o . を入力すればよい。また J 系統 2 2 6 7 、 一 AJ 内 -9ιFHJV J A U J V 8 一 ﹃ , , 6 -FDnud 5 6 5 ヲι 4 2 3 4 3 6 4 3 4 8 6 6 5 9 8 7 8 1 2 2 1 0 5 1 3 6 1 1 1 0 1 1 11- 1 1 一 一必且守 と同+革である c 示す。この表の各欄の上段は形質 1のデータ, 険〉主林、 l 一一一一一一一 l 反 { 短 : 2 文 侮 又i 勾2 。 作 A斗 戸 hlv よい。“ a ge の欄の使用の仕方も, LSAB02VB 表 4に , LSAB21VBのためのテストデータを 検定林 2 2 2 3 4 5 N o .o fR e c o r d s " の欄には,実際 o fF a m i l i e s "," のデータよりも大きめの数値を入力しておけば 検定林 l jd隻 I 反 復 : 2 支 後 ← 256- 下段は形質 林木台‘種センター研究報告 第1 5号 2のデータを表している。このテストデータについて,デー タファイルを作成した例が図 4である 検定林番号を s v " 0 O J す;がふと〆 ' < ; ) , 0 ' " ' <ç'~~ 1番目のカラムにーブロック(反復)番号を 2番目のカ 3 4 5 ラムに,系統番号を 3番 目 の カ ラ ム に , 形 質 lのデータを 4番目のカラ ムに,形質 2 2 2 2 2 2のデータを 5番目のカラムに,それぞれ入力しである。カ ラムの幅は,いずれも 3桁ずつである。 図 3に示した凶,AB21VBプログラムの起動時の画面には.図 4に示し 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 たテストデータのファイルを読み込むためのパラメータが入力しであ る。ここで,テストデータのファイルの中には林齢のデータがないので, 図 4の例では,データファイルのレコードの 1桁目のみを読み込み,そ の 値 が Oで あ る レ コ ー ド の デ ー タ を 解 析 の 対 象 と す る 設 定 に な っ て い る。テストデータのファイルでは.対応する部分は空白のみがあるので, その値はすべてのレコードにおいて Oである O したがってこの場合,す べてのレコードのデータが解析の対象となる。また,あるレコードのデー タを除いて解析したいというような場合には,そのレコードの I桁目に 任意の Oで な い 数 字 ( 半 角 ) を 入 力 し て お け ば そのレコードのデータ “W atcht h ec a l c u l a t i o np r o c e d u r e "の 2 3 5 2 2 2 2 2 3 5 2 3 4 5 一一+ー 2 2 2 2 3 4 5 1 十 自 9 1 0 1 1 5 8 9 1 2 4 7 6 9 2 3 2 9 5 4 呂 1 0 6 8 1 2 1 3 1 1 7 1 2 1 3 1 5 一 2 一一← ←桁数 各形質の分散分析表と分散成分 形質 で、ある。 (!由度 2 3 4 要同 険定林 1 ) ι f 垣 系統 データ 2のテストデータについて 検定材 LSAB21VBで 解 析 し た 結 果 を , 表 参考とされた L入 2 3 4 5 2 5 6 8 表 5. 凶 ,AB21VBでのデータ 2についての解析結果の例 S t a r t "のボタン,“End"のボタン, “ 5,6に 示 す 。 プ ロ グ ラ ム 実 行 時 の 4 4 6 2 3 6 5 5 2 4 6 7 3 3 5 6 4 ペ ダ 図 4. LSAB21VBによる解析に用いるデータファイル は解析の対象とならない。 ボタンの機能は凶,AB02VBと同じ < < . . ( e ' " ' 2 系統 誤差 9 検定休 2 3 4 7 9 I x l 主 系統 検定林 系純 三 n日 、 2イ ; : p ' ! ' ) j干 u 8 7, 422 1, 969 90, 442 7, 733 5, 875 0 6 1 1 5 4, 19.518 1 51 .7 79 1 3 . 4 2 1 16.250 平I 旬 、 le}j干 1 43, 7 1 1 0, 656 22, 610 1 .1 0 5 0, 653 7 7 .0 3 1 6, 506 37, 945 1 .917 1.806 f l) J 七 分I t t分担 i J、 と JM 〉1 士 ! & 分 ド 、Y三 j正 吉 干1 1 ~I 1 1 1 ; 1 f f i ' H l 644 115, 57.822 2 ー 1 .1 6 7 -0389 3 4 116.244 29.061 0.356 5.080 9 3.000 0333 分散 rJ~jÌ よ告準 5 貝i f f 4.297 253 0, 0.653 2.613 0, 330 O .278 7, 205 0.062 1.806 4 .386 O .664 0.770 !時質!と!杉質~ 要1 f . :1 験i T ' 林 ) 5 Z1 T 1 系統 検定林系統 三 I レ 昭 、 ; 三Fcι i l 立. I N分 j 七 分 5.805 0.158 333 0, 表 6. データ 2について計算された最小 2乗推定値 系統番号 形質 1 833 2, 2 ・ 3 4 .1 1 1 6, 333 6, 611 ' L》 4 5 7.833 形質 2 3 .833 5.169 7 .667 8.812 10.333 村1 可 , 1.043 t ウ 内 〆 し ︼ ﹁ 司 検定林データの分散分析プログラム 5 おわりに 今回の移植にあたっては オリジナルプログラムを V i s u a lB a s i cにあうプログラムスタイルに変更し,プログ ラム起動時の入力形式を若干変更したが,プログラムの本質的な部分の変更は行っていない。 LSQABS02.BASと LSQABS21 .BASのプログラムを開発された,林木育種センタ一九州育種場の栗延昔育種課長に感謝します。原稿 の作成にあたり,林木育種センター東北育種場の織田春紀育種課長から貴重なご意見をいただきました。ここに 記して感謝します。 引用文献 1 ) K URlNOBU,S .,MIYAU臥 ,T .( 1 9 9 3 ) Ana p p l i c a t i o no fab e s tl i n e a rp r e d i c t i o nt oc l o n a lt e s t so fs u g i(Cryptomeria nt h enorthemKa n t or e g i o n .] .] p n .F o r .S o c .75,3 5 0 3 5 5 j a p o n i c a )i 2) 粟延晋・宮浦富保・久保田権(19 9 3 ) 関東育種基本区のスギさしき検定データに対する BLP法の適用につ いて, 0 4,441-442 日林論 1 9 3 ) 関東育種基本区のスギ地域差検定林 1 0 年次データに基づく地域区分の 3)宮浦富保・栗延晋・久保田権(19 検討,日林論 1 0 4,437-439 4)宮浦富保・栗延昔・久保田権(19 9 4 ) 関東育種基本区のヒノキ次代検定林データについての BLP法による系 0 5,319-320 統評価,日林論 1 -258- 林木育種センター研究報告 第1 5号 T r a n s f e ro ft h ea n a l y s i so fv a r i a n c ep r o g r a m sf o rt e s t i n gd a t a f r o n 可N 8 8 B a s i ct oV i s u a lB a s i c Tomiyasu M町AURA s u m m a r y Th ea n a l y s i so fv a r i a n c ep r o g r a m sf o rt e s t i n gd a t aw e r et r a n s f e r r e df r o mN 8 8 B a s i ct oV is u a IB a s i c . The p r o g r a m sw e r eo r i g i n a l I yc o d e dbyD r .K u r i n o b uw i t hN 8 8 B a s i cf o rNECp e r s o n a lc o m p u t e r s . 1d i s c u s st h e n e c e s s i t i e so f仕 a n s f e r r i n gt h ep r o g r a m sf r o mN 8 8 B a s i ct oV i s u a lB a s i c . Thep r o c e d u r ef o ru s i n g出et r a n s f e r r e d f I yd e s c r i b e du s i n ge x a m p l ed a t as e t s . p r o g r a m si sa I s ob r i e TohokuB r e e d i n g0血c e,F o r e s tT r e eB r e e d i n gC e n t e rO s a k i9 5, T a k i z a w a m u r a ,I w a t e020 0 1 7 3, ] a p a n