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]