Next: Functions and Variables for descriptive statistics, Previous: Introduction to descriptive, Up: descriptive [Contents][Index]
continuous_freqの引数は数のリストでなければいけません。
範囲を区間に分割し、それらの中に値がいくつあるか数えます。
二番目の引数はオプションで、
欲しいクラス数(デフォルトが10)か、
クラス境界と欲しいクラスを含むリストか
境界だけ含むリストのいずれかです。
引数 listは(2個か3個の)実数のリストでなければいけません。
もしサンプル値がすべて等しいなら、この関数は振幅2の1クラスだけ返します。
例:
オプション引数は欲しいクラス数を示します。
出力の最初のリストは区間境界を含み、二番目は対応する個数を含みます:
区間[0, 1.8]すなわち0か1である桁が16あり、
(1.8, 3.6]すなわち2か3である桁が24あり、など。
(%i1) load ("descriptive")$
(%i2) s1 : read_list (file_search ("pidigits.data"))$
(%i3) continuous_freq (s1, 5);
(%o3) [[0, 1.8, 3.6, 5.4, 7.2, 9.0], [16, 24, 18, 17, 25]]
オプション引数は、境界-2と12を持つクラスを7個欲しいことを示します。
(%i1) load ("descriptive")$
(%i2) s1 : read_list (file_search ("pidigits.data"))$
(%i3) continuous_freq (s1, [-2,12,7]);
(%o3) [[- 2, 0, 2, 4, 6, 8, 10, 12], [8, 20, 22, 17, 20, 13, 0]]
オプション引数は、境界-2と12を持つクラスをデフォルト個欲しいことを示します:
(%i1) load ("descriptive")$
(%i2) s1 : read_list (file_search ("pidigits.data"))$
(%i3) continuous_freq (s1, [-2,12]);
3 4 11 18 32 39 46 53
(%o3) [[- 2, - -, -, --, --, 5, --, --, --, --, 12],
5 5 5 5 5 5 5 5
[0, 8, 20, 12, 18, 9, 8, 25, 0, 0]]
数値的、記述的両方の離散標本の中の絶対頻度を数えます。 唯一の引数はリストです。
(%i1) load ("descriptive")$
(%i2) s1 : read_list (file_search ("pidigits.data"))$
(%i3) discrete_freq (s1);
(%o3) [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]
最初のリストは標本値を与え、二番目はそれらの絶対頻度を与えます。
コマンド? colと? transposeは最後の入力を理解するのを助けるはずです。
これはMaxima submatrix関数の変形の一種です。
最初の引数はデータ行列であり、二番目は述語関数であり、
オプションの付加引数は返す列の番号です。
その振る舞いは例を使ってよりよく理解されます。
以下は最初の測候所での風速が18より大きかった多変量レコードです。
ラムダ式の中でi番目の成分はv[i]として参照されることを参考にしてください。
(%i1) load ("descriptive")$
(%i2) s2 : read_matrix (file_search ("wind.data"))$
(%i3) subsample (s2, lambda([v], v[1] > 18));
[ 19.38 15.37 15.12 23.09 25.25 ]
[ ]
[ 18.29 18.66 19.08 26.08 27.63 ]
(%o3) [ ]
[ 20.25 21.46 19.95 27.71 23.38 ]
[ ]
[ 18.79 18.96 14.46 26.38 21.84 ]
以下の例では、測候所番号1で16以上で、かつ、測候所番号4で25ノットより小さな風速 のレコードの一番目、二番目、五番目の成分だけをリクエストします。 標本は、測候所1, 2, 5からのデータだけを含みます。 この場合、述語関数は通常のMaxima関数として定義されます。
(%i1) load ("descriptive")$
(%i2) s2 : read_matrix (file_search ("wind.data"))$
(%i3) g(x):= x[1] >= 16 and x[4] < 25$
(%i4) subsample (s2, g, 1, 2, 5);
[ 19.38 15.37 25.25 ]
[ ]
[ 17.33 14.67 19.58 ]
(%o4) [ ]
[ 16.92 13.21 21.21 ]
[ ]
[ 17.25 18.46 23.87 ]
以下はbiomed.dataのカテゴリ変数の例です。
38歳より年上のグループBの患者に対応するレコードが欲しいです。
(%i1) load ("descriptive")$
(%i2) s3 : read_matrix (file_search ("biomed.data"))$
(%i3) h(u):= u[1] = B and u[2] > 38 $
(%i4) subsample (s3, h);
[ B 39 28.0 102.3 17.1 146 ]
[ ]
[ B 39 21.0 92.4 10.3 197 ]
[ ]
[ B 39 23.0 111.5 10.0 133 ]
[ ]
[ B 39 26.0 92.6 12.3 196 ]
(%o4) [ ]
[ B 39 25.0 98.7 10.0 174 ]
[ ]
[ B 39 21.0 93.2 5.9 181 ]
[ ]
[ B 39 18.0 95.0 11.3 66 ]
[ ]
[ B 39 39.0 88.5 7.6 168 ]
統計解析には血圧だけを使うかもしれません。
(%i1) load ("descriptive")$
(%i2) s3 : read_matrix (file_search ("biomed.data"))$
(%i3) subsample (s3, lambda([v], v[1] = B and v[2] > 38),
3, 4, 5, 6);
[ 28.0 102.3 17.1 146 ]
[ ]
[ 21.0 92.4 10.3 197 ]
[ ]
[ 23.0 111.5 10.0 133 ]
[ ]
[ 26.0 92.6 12.3 196 ]
(%o3) [ ]
[ 25.0 98.7 10.0 174 ]
[ ]
[ 21.0 93.2 5.9 181 ]
[ ]
[ 18.0 95.0 11.3 66 ]
[ ]
[ 39.0 88.5 7.6 168 ]
いかはs3の多変量平均です。
(%i1) load ("descriptive")$
(%i2) s3 : read_matrix (file_search ("biomed.data"))$
(%i3) mean (s3);
65 B + 35 A 317 6 NA + 8144.999999999999
(%o3) [-----------, ---, 87.178, ------------------------,
100 10 100
3 NA + 19587
18.123, ------------]
100
ここで、一番目の成分は、AとBはカテゴリなので意味がなく、
二番目の成分は個々人の平均の歳の有理表現であり、
四番目と最後の値はある奇妙な振る舞いを示しています。
これは、
This is because symbol
シンボルNAがnon availableデータを示すようにここで使われているからで、
二つの平均は無意味です。
情報のある種の喪失を意味しますが、
可能な解はNAシンボルを持つ行を行列から取り除くことです。
(%i1) load ("descriptive")$
(%i2) s3 : read_matrix (file_search ("biomed.data"))$
(%i3) g(v):= v[4] # NA and v[6] # NA $
(%i4) mean (subsample (s3, g, 3, 4, 5, 6));
(%o4) [79.4923076923077, 86.2032967032967, 16.93186813186813,
2514
----]
13
Next: Functions and Variables for descriptive statistics, Previous: Introduction to descriptive, Up: descriptive [Contents][Index]