行列またはベクトルの値の頻度
[m]=tabul(X [,order])
ベクトルまたは行列 (実数または複素数または文字列)
(オプションの) 文字 "d" または "i" (デフォルト値: "d")を指定します
列行列 (X
は数値ベクトルまたは行列)
またはメンバー2つを有するリスト
(X
が文字列ベクトルまたは行列).
この関数は,数値または文字列のベクトルまたは行列X
の
値の頻度を計算します :
m
は2列の行列で,
最初の列にはX
の異なる値,
他の列にはこれらの値の頻度が含まれます
(m(i,2)はm(i,1)の出現頻度です).
m
はリストで,
その最初のメンバーは
X
の異なる値から構成される
文字列(列)ベクトル,
2番目のメンバーは
その要素がこれらの値の頻度となる(列)ベクトルです
(m(i)(2)は文字列m(i)(1)の出現頻度です).
オプションのパラメータorder
は, "d" または "i" とする
必要があり (デフォルトは
order="d"), Xの異なる値がソートされる順序(降順(d)または昇順(i))を指定します.
// 最初の例 X = [2 8 0 3 7 6 8 7 9 1 6 7 7 2 5 2 2 2 9 7] m1 = tabul(X) m2 = tabul(X, "i") // 二番目の例 X = ["ba" "baba" "a" "A" "AA" "a" "aa" "aa" "aa" "A" "ba"] m = tabul(X,"i") // 3番目の例 n = 50000; X = grand(n,1,"bin",70,0.5); m = tabul(X,"i"); clf() plot2d3(m(:,1), m(:,2)/n) xtitle("empirical probabilities of B(70,0.5)") // 最後の例 : scilabライセンスにおける単語の頻度を計算 text = read(SCI+"/COPYING",-1,1,"(A)"); // scilabライセンスを読む bigstr = strcat(text," "); // 全ての行を一つの大きな文字列にする sep = [" " "," "." ";" "*" ":" "-" """"]; // 単語セパレータ words = tokens(bigstr, sep); // 大きな文字列を単語に分割 m = tabul(words); // 各単語の出現頻度を計算 [occ , p] = gsort(m(2)); // 降順に頻度をソート results = [m(1)(p) string(occ)] // 結果を表示 | ![]() | ![]() |
Wonacott, T.H. & Wonacott, R.J.; Introductory Statistics, fifth edition, J.Wiley & Sons, 1990.