Functions and Variables for data manipulation (Maxima 5.46.0 Manual)

Next: Functions and Variables for descriptive statistics, Previous: Introduction to descriptive, Up: descriptive [Contents][Index]

### 45.2 Functions and Variables for data manipulation

関数: continuous_freq (list) ¶
関数: continuous_freq (list, m) ¶

  `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]]

  Package descriptive ·

関数: discrete_freq (list) ¶

  数値的、記述的両方の離散標本の中の絶対頻度を数えます。 唯一の引数はリストです。

      (%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`は最後の入力を理解するのを助けるはずです。

  Package descriptive ·

関数: subsample (data_matrix, predicate_function) ¶
関数: subsample (data_matrix, predicate_function, col_num1, col_num2, ...) ¶

  これは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

  Package descriptive ·

Next: Functions and Variables for descriptive statistics, Previous: Introduction to descriptive, Up: descriptive [Contents][Index]