Location : Home > Softwares > PopTool Title : Worksheet functions |
![]() |
Poptoolで利用可能なワークシート関数
Poptoolで利用可能なワークシート関数を列挙する。ただしこれらのうちいくつかは配列数式(array formulas)であり、数式の入力時に Ctrl キーと Shift キーを押しながら Enter キーを押す。
ああ、そうそう、よく見ると、よく似た機能のよく似た名前の関数が出てくる。特に頭に d が付いているか付いていないかだけで、全然やってることに差がないもの同士。これはいくつかの関数では、VBA で書いたものと、コンパイルして dll(Dynamil Link Library)にしてしまってるものがあるということ。んなもんで、同じような名前なら頭に d が付いているもののほうが速い、らしい。でかいモデルで計算したことがないので体感的にわかるくらいの差を感じたことはない。
メニューから「挿入」→「関数」と選ぶと「関数の挿入」というダイアログが表示されると思うが(んー。バージョンによって微妙に表示が異なるかも知れないけど)、そこで「関数の分類」で「ユーザー定義」を選択すると、Poptoolsがアドインとして読み込まれている間は、以下に掲げる関数が表示されている。「Poptools random variables」を選択すると頭に d 付きの関数が選択される。
それから、ここに書いているのは基本的にはヘルプに書いてあることなんだけれども、訳していると、どうも記述があいまいだったり、明らかに書いてある引数と説明の中に出てくる言葉が異なっているものがある。とりあえず元の記述を優先するが、触ってみて説明を変えたほうがよいものは順次修正することにする。
ベクトルの自己相関関数を返す。サンプルファイル Correlated.xls を参照せよ。pacf には偏自己相関の出力指定…なのだが、この数値を変化させることで何が変わるのか今のところ理解してない。
出力領域としては2列の領域を指定すること。具体的には以下のような出力をする。(黄色の背景の部分が実際の出力領域)
lag | 自己相関関数 | 偏自己相関関数 |
0 | (ラグ 0 に対する値) | (ラグ 0 に対する値) |
1 | (ラグ 1 に対する値) | (ラグ 1 に対する値) |
2 | (ラグ 2 に対する値) | (ラグ 2 に対する値) |
3 | (ラグ 3 に対する値) | (ラグ 3 に対する値) |
… | … | … |
与えられたラグに対してベクトルの自己相関を返す。したがって出力セルは1つである。上記のACFが、出力領域の行の数だけラグを計算するのに対して、ある特定のラグに関する自己相関を返す。
Lag は理論的には非負の整数のはずで、確かに負の数をしてするとエラーになるが、小数を入力すると、小数点以下が 0.5 以下なら切捨て、それより大きければ切り上げて整数に変換しているような振る舞いをする。そんな性質を使って計算することはたぶんないから、素直に非負整数(と言っても 0 を指定したら必ず結果は 1.0 にしかならないのであまり意味がないが)を指定すること。
人口推移行列(正方行列)から得られる年齢構成に対応する列ベクトルを返す。(具体的には主固有値の右固有ベクトルになる。)
詳しくはサンプルファイル Eigenanalysis.xls を参照せよ。
データ行列の ANOVA 表を返す。ただしデータはそれぞれのグループが行に並んでいなければならない。
Min + (ArcTan(Value) + PI/2) * (Max - Min) / PI を返す。
与えられた平均と標準偏差を持つベータ分布に従う乱数を返す。
与えられた平均と標準偏差を持つベータ分布に従う乱数を要素とする、与えられた長さの列ベクトルを返す。
この関数を関数ウィザードを用いて入力してはならない!
最尤法によって推定されたパラメータの配列数式を返す。ヘルプを参照せよ。
2項分布に従う乱数を返す。遅いようであれば代わりに dBinomialDev を用いよ。
2項分布に従う乱数を要素に持つ、与えられた長さの列ベクトルを返す。
列ベクトルの平均の信頼限界を返す。方法として simple percentiles, bias-corrected, accelerated bias-corrected が選択できる。
標準偏差の信頼限界を返す。方法として simple percentiles, bias-corrected, accelerated bias-corrected が選択できる。
データ行列の対応解析(correspondence analysis)を返す。
"InputRange" に含まれる各セルの文字列を "Characters" (省略可能)を間にはさんで連結する。もし "Characters" が省略されれば "InputRange" に含まれる文字列が連結される。
正定値行列の Cholesky 分解を返す。
与えられた分散共分散行列の相関行列を返す。
列中心化行列(各要素から列の平均を引いたもの)を返す。
列中心正規化行列(各要素から列平均を引き、列の標準偏差で割ったもの)を返す。早い話が各要素を列方向に偏差値に変換したものっちゅーわけや。
行正規化行列(各要素を行の標準偏差で割ったもの)を返す。
行列の各行の和を列ベクトルとして返す。
X-Y データの列プロットを表す配列を返す。配列数式として入力し、 XY グラフとしてプロットする。
指定された相関係数となるような正規分布に従う乱数を返す。遅いようであれば dCorrelatedDev を用いよ。
指定された相関係数となるような正規分布に従う乱数を要素とする与えられた長さの列ベクトルを返す。かと言って、得られた乱数の平均とか標準偏差とかを計算しても厳密に指定した値に一致するわけではない。その辺はちょっとご愛嬌誤差の範囲ということで。
それから、乱数の種だが、さほど自由に設定するわけにはいかなさそうだ。指定した平均とほぼ同じ大きさでなければ、ほしい乱数列とは思えない数列を吐き出す。というわけでサンプルファイル Correlated.xls では、乱数の種として、平均値を指定している。
ベクトルの自己相関関数を返す。
データ行列の対応解析(correspondence analysis)を返す。
データ行列のχ-2乗テストを実行する。(PopTools メニューを用いて入力すること。)
データ行列のχ-2乗テストの P-値を返す。(PopTools メニューを用いて入力すること。)
正定値行列の Cholesky 分解を返す。
正方行列の固有値のうち、最大の実部をもつものを返す。
正方行列の固有値の実部と居部を返す。
正方行列の固有ベクトル及び固有値(出力の最後の2列)を返す。
入力ベクトルから指定されたインデックスに対応する要素を削除したベクトルを返す。
正方行列の行列式を返す。
2x2行列に対し Fisher の直接法(Fishers Exact test)の結果を返す。
パラメータα・βが指定されたガンマ分布の分布関数を返す。(Excel の関数 GAMMADIST において cumulative = FALSE と設定した場合と同様。)
平均(期待値)とパラメータαで規定されたガンマ分布に従う観測値の負の対数尤度を返す。(配列数式)
データ行列のGテストを実行する。(PopTools メニューを用いて入力すること。)
データ行列のGテストにおける P-値を返す。(PopTools メニューを用いて入力すること。)
行列の主対角要素を返す。
ベクトルを入力とし、その各要素の平方根を各対角要素とする対角行列を返す。
行列の対角要素を返す。(対角要素以外の要素を 0 に設定する。)
行列の対角要素の積を返す。
データ行列の「距離」を返す。すなわち行列の各要素の平均の差を返す。
入力された要素間の距離を示す下三角行列を返す。上三角部分の要素は全て 0 である。
入力された要素間の平方距離を示す下三角行列を返す。上三角部分の要素は全て 0 である。
行方向が観測値であるようなデータ行列に対する距離行列を返す。
行列に対する(式で表現された)距離を返す。
誤差が平均と標準偏差で与えられた対数正規分布に従う観測値に対する負の対数尤度を返す。
行列の LU 分解を返す。
正方行列の逆行列を返す。
与えられた事象数の、セルで与えられた確率モデルに従う負の対数尤度を返す。
与えられた事象数の、セルで与えられた確率モデルに従う負の対数尤度を返すDLLの関数。
事象数 N ・平均 mu ・パラメータ K に対する負の2項分布に従う確率を返す。
誤差を平均と凝集パラメータ K で指定された負の2項分布に従う負の対数尤度を返す。
正規分布に従う変数の負の対数尤度を返す。
Excel の NORMDIST 関数と同様の文法に従い値を返す。すなわち与えられた平均と標準偏差の正規分布の X における値を返す。ただし最後の引数が FALSE であれば確率分布値を、True であれば累積確率分布値を返す。
正方人口推移行列の主固有値を返す。
正方人口推移行列の主固有値を返す。(って、すぐ上の関数と何が違うの?)
データ行列の主成分分析(principal components analysis)値を返す。
Excel の POISSON 関数と同様の文法に従い値を返す。すなわち与えられた平均のポアソン過程に従う変数の X における確率を返す。ただし最後の引数が FALSE であれば確率分布値を、True であれば累積確率分布値を返す。
ポアソン過程に従う変数の負の対数尤度を返す。
列数よりも行数の多い行列の QR 分解を返す。QR 分解とは n * m 行列 A を2つの行列の積 Q * R で表すことである。ただし Q はis a (n x m) 列直交行列であり、 R は (m x m) 上三角行列である。
QR 分解を用いて連立方程式を解く。
"Vector" からランダムに抽出した値を返す。"Size" で抽出する個数を指定する。行列を引数にしてもよい。
行列からランダムに取り出した列ベクトルを返す。
行列からランダムに取り出した行ベクトルを返す。
状態ベクトルに正方推移行列の列表現を乗じる。
ベクトルをランダムにシャッフルする。
行列の列をランダムに入れ替える。
下三角距離行列の行と列をランダムにシャッフルする。ただし第1行と第1列はヘッダとする。
行列の行をランダムに入れ替える。
行列の特異値分解(singular value decomposition)を返す。
特異値分解(singular value decomposition)を用いて連立方程式を解く。 (see the SOLVE demo)
データ領域の標本分散を返す。
Excel の VARP 関数を用いてデータの人口分散を計算する。
データ行列の分散共分散行列を返す。ただし種は列、場所は行方向に並んでいるものとする。
正方行列の固有ベクトルと固有値を返す。
正方行列の固有ベクトルと固有値を返す。…んだが、すぐ上の関数と何が違うの?
正方行列の固有ベクトルと固有値を返す。ってったって、上の2つの式と何が違うのか説明されてない!!
正方行列の固有値の実部と虚部を返す。
人口推移行列の各要素の弾性値(elasticity;変化に対する主固有値の感度)を返す。
指定された2つの範囲の値が互いに指定された精度内(デフォルトは10-6)で同じであるかを確認する。
TAKE CARE - CALCULATION TIME CAN BE VERY LONG.
離散シミュレーションで行う。ヘルプを参照せよ。
指数分布に従う乱数を返す。遅いようであれば dExpDev を用いよ。
指数分布に従う乱数を要素に持つ与えられた長さの列ベクトルを返す。
指定されたサイズの単位行列を返す。
値が数値であれば "Result" の値を返す。それ以外は空の文字列を返す。エラーが出た場合にそれを表示させない場合に有用である。
セルの値をテキストに変換して返す。
修正 G-統計値(対数尤度比テスト統計値の表)を返す。
Observed と Expected に対する修正 G-統計値を返す。
ガンマ分布に従う乱数を返す。遅いようであれば dGammaDev を用いよ。
与えられた長さのガンマ分布に従う乱数を列ベクトルとして返す。
(Rows-1) x (Cols-1) 次の自由度を持ち and 第1種の過ちの割合いを alpha とする G-統計値の限界値を返す。
幾何分布に従う乱数を明返す。遅いようであれば dGeomDev を返す。
与えられた長さの幾何分布に従う乱数を列ベクトルとして返す。
行列から指定された列を抽出する。
行列の対角要素をとりだし列ベクトルとして返す。
行列から指定された行を抽出する。
GAdjP を用いて計算された G-統計値の修正P値を返す。
GAdjP を用いて計算された G-統計値の修正P値を返す。
与えられたサイズの単位行列を返す。
ワークシートで再計算された回数をインクリメントする。"init" が TRUE であれば関数は "StartValue" のままである。
ワークシートで再計算された回数をインクリメントする。"init" が TRUE であれば関数は "StartValue" のままである。
与えられたベクトル X と Y から得られる線形補間式を用いて ValueX における予測値を計算する。
固有値と固有ベクトルs of a 対称行列の固有ベクトルを返す。
Jolly-Seber の豊富さの指数(Jolly-Seber abundance)を返す。. "Animals" は方形区(quadrat;コドラート)内の個体数、"Areas" は方形区の面積、"TotalArea" は全面積、"Alpha" は第1種の過ちの確率である。"Replace" はサンプリングの際に重複を認めるか否かを決定する。
推移行列の解析結果を返す。 (メニューから利用すること)
人口推移行列の属性を返す配列数式。第2引数が TRUE であれば第1引数は Pi として扱われ、そうでなければ Fi として扱われる。もし双方の引数が行列であれば、第1引数は 生殖行列(fecundity matrix)、第2引数は推移行列(transition matrix)として扱われる。
生命表の値を用いて増加率・世代時間(generation time)を計算する。
生命表の値を用いて繁殖前・繁殖後の推移行列を計算する。
X のロジスティック変換を返す。"Inflection" は関数値が 0.5 に達する地点、"Slope" は関数の傾きである。"Increasing" は X で関数が増加しているか減少しているかを指定する。
対数正規分布に従う乱数を返す。遅いようであれば代わりに dLogNormalDev を用いよ。
平均と標準偏差でパラメータ指定された対数正規分布に従う変数を要素に持つ、与えられた長さの列ベクトルを返す。
行列のLU分解を返す。
ReturnData が false であればランダム化された距離行列の相関係数で元の値よりも大きい値となったものを返す。それ以外は全係数を配列として返す。
注意:計算に多大な時間を要する!
この関数を関数ウィザードを用いて入力してはならない!最尤法で推定したパラメータを返す。ヘルプを参照せよ。
正方行列の逆行列を返す。
行列の任意の整数べきを計算する。
対称行列に対するピアソンの相関係数(Pearson's correlation coefficient)を返す。下三角部分だけを利用する。
与えられた頻度の観測値のデータベクトルの平均を返す。
森下の分散(Morisita's index of dispersion)を返す。
標準化された森下の分散(standardised Morisita index of dispersion)を返す。
平均が 0 、標準偏差が 1 であるように下三角行列を「正規化」して返す。
(一般には対称)行列の下三角部分の積の和を返す。
Hastings - Sugihara の MW2D アルゴリズムを用いて 64x64要素 のフラクタル表面を返す。
与えられた平均 mu と凝集パラメータ K に従う負の2項分布が N 回の事象を生じる確率を計算する。
負の2項分布に従う乱数を返す。遅いようであれば代わりに dNegBinomialDev を用いよ。
クラスターパラメータ k の負の2項分布に従う変数を要素とする、与えられた長さの列ベクトルを返す。
観測値を用いて凝集パラメータ K の負の2項分布を計算する。
正規分布に従う乱数を返す。遅いようであれば代わりに dNormalDev を用いよ。
正規分布に従う乱数を要素に持つ、与えられた長さの列ベクトルを返す。
正規分布に従う整数変数を返す。遅いようであれば代わりに dNormalInt を用いよ。
正規分布に従う整数変数を要素に持つ、与えられた長さの列ベクトルを返す。
行列の各要素を行列の全要素の和に対する比で置き換えた行列を返す。
注意:この計算には多大な時間を要する!
常微分方程式の連立方程式の積分を計算する。
範囲を空白で埋めて返す。デフォルトでは左に空白を続けるが、最後の引数を True にすると右側に埋めていく。
データ行列の主成分分析を返す。
閉じた系に対する Capture-Mark-Recapture 実験における Lincoln-Petersen の豊富さの指数(Lincoln-Petersen abundance)を返す。
ポアソン分布に従う乱数を返す。遅いようなら dPoissonDev を用いよ。
与えられた長さのポアソン分布に従う乱数を列ベクトルとして返す。
状態ベクトルに与えられた回数だけ推移行列を乗じる。
返り値がエラーでなければ第1引数を返す。それ以外は第2引数を返す。
列数よりも行数が多いような行列のQR分解を返す。QR分解とは n * m 行列 A を行列の積 Q * R であらわすことで、Q は (n x m) の列直交行列、 R は (m x m) の上三角行列とする。
QR 分解を用いて連立方程式を解く。
列方向に並んだデータ行列 (InputRange) をソートする。SortOrder(省略可能)で昇順(A)または降順(D)を指定する。デフォルトは昇順である。SortKey(省略可能)はソートの基準となる列。
f が True であれば期待値を返す。そうでなければ乱数を返す。
この設定は全てのワークシートに反映されるので注意すること。
指定された範囲内の一様乱数分布に従う整数を返す。遅いようなら代わりに dRandInt を用いよ。
指定された範囲内の一様乱数を変えす。遅いようなら代わりに dRandReal を用いよ。
乱数の種を生成する。再計算時に同じ乱数を生成させることもできる。
行列の各要素の逆数からなる行列を返す。
非数値データを除外して回帰分析を行う。出力は LINEST と同じ。
Xdata に対する Ydata の回帰結果を返す。
ベクトルを入力とし、指定されたインデクスに対応する要素を文字列で置き換えてを返す。
正方人口推移行列の再生産値(reproductive value)に対応する行を返す。
"Matrix" から値をランダムに抽出して返す。 "Size"(省略可能)は抽出する個数でデフォルトは "Matrix" の要素数。
行列から列をランダムに抽出する。
行列から行をランダムに抽出する。
多項式の根の実部と虚部を返す。"CoeffVector" で示される係数は次数の昇順でなければならない。
行中心化行列(各要素から行の平均を引いたもの)を返す。
行中心正規化行列(各要素から行平均を引き、さらに行の標準偏差で割った値)を返す。
正方推移行列の行表現による状態ベクトルを示す。(see Projection demo)
行正規化行列(各要素を行の標準偏差で割ったもの)を返す。
行列の行和を列ベクトルとして返す。
シュナーベルの豊富指標(Schnabel's index of abundance)を返す。"Caught" は罠の数。 "Recaptures" is a matching range with the number 再捕獲された数。 "Marked" は再捕獲された対象のうちマーク付けされているものの数。 "Alpha" は第1種の過ちの確率。
人口推移行列の各要素の微小変動に対する主固有値の感度(sensitivity)を返す。
引数が 1 であれば Marsaglia random number generator を用いて乱数を生成する。そうでなければ Mersenne Twister を用いる。
引数 "ShowIt" が True (デフォルト値)であれば途中経過を表示するために計算をゆっくり行う。表示しないのであれば引数に FALSE を設定する。
Vector をランダムにシャッフルする。
行列の列をランダムに入れ替える。
An 配列数式 that randomly shuffles the rows and columns of a 下三角距離行列の行と列をランダムにシャッフルする。ただし1行め・1列めはヘッダであるとする。
行列の行をランダムに入れ替える。
この関数を関数ウィザードを用いて入力してはならない!最尤法によってパラメータを推定する。ヘルプを参照せよ。
この関数を関数ウィザードを用いて入力してはならない!
最尤法によってパラメータを推定する。
"InputRange" に含まれるセルの内容を "Characters" (省略可能)で指定された文字を挟んで連結する。もし "Characters" が省略された場合には単純に"InputRange" を連結した文字列を返す。
与えられたベクトル X と Y から得られた3次スプライン曲線を求め、"XValues" における Y の値を推計する。values
人口推移行列から得られる安定齢構成に対応する列ベクトルを返す。
詳しくはサンプルファイル Eigenanalysis.xls を参照せよ。けど、私には今のところ、AgeDistと何が違うのかよく理解してない。
文字列 Str1 から Str2 (省略可能)を取り除いた文字列を返す。 Str2 が省略されれば Str1 から "$" を取り除いた文字列を返す。
行列の特異値分解(singular value decomposition)を返す。
特異値分解(singular value decomposition)を用いて連立方程式を解く。(see the SOLVE demo)
対称行列の任意のべき乗を返す。
Tan(PI * (Value - Min) / (Max - Min) - PI/2) を返す。
行列の列を連結して1つの列ベクトルとして返す。
行列の行を連結してを1つの列ベクトルとして返す。(RowMatrixMult に用いる。)
行列のトレース(trace; 跡)を返す。行列の主対角要素の和(Σaii)のこと。ヘルプには「対角要素の積(product)」と書いてあるが、実際使ってみると、きちんと和を返している。
三角分布に従う乱数を返す。遅いようなら代わりに dTRand を用いよ。
三角分布に従う乱数を要素に持つ、与えられた長さの列ベクトルを返す。
プログラム ULM の入力ファイルに使用可能な文字列となるような推移行列の値を返す。
正方行列の上三角行列を返す。
与えられた頻度の観測値のデータベクトルの標本分散を返す。
データ行列の分散共分散行列を返す。ただし種や特性が列方向に、場所や観測値が行方向に並んでいるものとする。
Updated : 2005/03/08
![]() |
Updated : 2005/03/08 |