tabul
行列またはベクトルの値の頻度
呼び出し手順
[m]=tabul(X [,order])
パラメータ
- X
ベクトルまたは行列 (実数または複素数または文字列)
- order
(オプションの) 文字 "d" または "i" (デフォルト値: "d")を指定します
- m
列行列 (
X
は数値ベクトルまたは行列) またはメンバー2つを有するリスト (X
が文字列ベクトルまたは行列).
説明
この関数は,数値または文字列のベクトルまたは行列X
の
値の頻度を計算します :
- X が数値のベクトルまたは行列の場合
m
は2列の行列で, 最初の列にはX
の異なる値, 他の列にはこれらの値の頻度が含まれます (m(i,2)はm(i,1)の出現頻度です).- X が文字列のベクトルまたは行列の場合
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.
Report an issue | ||
<< quart | Empirical distribution | Multivariate - regress correl PCA >> |