Skip to content

statcpp CLI コマンドリファレンス

基本書式:

statcpp <category> <command> [options] [file]
statcpp <shortcut> [options] [file]

入力方法:

# 1. CSV ファイルを指定
statcpp desc mean test/e2e/data/basic.csv --col value

# 2. stdin からパイプ(縦方向・1行1値)
cat test/e2e/data/basic.csv | statcpp desc mean --col value

# 3. --row: 横並びの値を直接渡す(カンマ/スペース区切り)
echo '1,2,3,4,5' | statcpp desc mean --noheader --col 1 --row
echo '1 2 3 4 5' | statcpp desc mean --noheader --col 1 --row
入力方法 ファイル引数 追加フラグ データ形式
CSV ファイル 必要 不要 通常の CSV/TSV
stdin パイプ 不要 不要 縦方向(1行1値)
--row 不要 --noheader --col 1 --row 横並び(カンマ/スペース区切り)

共通オプション

すべてのコマンドで使用可能なオプションです。

入力制御

フラグ デフォルト 説明
--delimiter <char> 自動判定 CSV 区切り文字
--header / --noheader --header ヘッダ行の有無
--na <strings> NA,NaN,nan,N/A,n/a 欠損値として扱う文字列
--skip_na / --noskip_na --skip_na 欠損値を除外して計算
--fail_na false 欠損値があればエラー終了
--presorted false データがソート済み(ソートをスキップ)
--row false 横並びデータを1列として処理(カンマ/スペース区切り)

出力制御

フラグ デフォルト 説明
--json false JSON 形式で出力
--quiet false 数値のみ出力(パイプ向け)

統計共通

フラグ デフォルト 説明
--alpha 0.05 有意水準
--level 0.95 信頼水準
--population false 母集団統計量 (ddof=0)

desc - 記述統計

1列の数値データに対する記述統計量を計算します。

サブコマンド --col 追加オプション 説明
summary 1列 --presorted 要約統計量(件数, 平均, SD, 5数要約, 歪度, 尖度)
mean 1列 算術平均
median 1列 --presorted 中央値
mode 1列 最頻値(複数ある場合はすべて表示)
var 1列 --population 分散(デフォルト: 標本分散)
sd 1列 --population 標準偏差
range 1列 範囲 (max - min)
iqr 1列 --presorted 四分位範囲
cv 1列 変動係数 (SD / Mean)
skewness 1列 歪度
kurtosis 1列 超過尖度(正規分布で 0)
percentile 1列 --p(必須), --presorted パーセンタイル値
quartiles 1列 --presorted 四分位数 (Q1, Q2, Q3)
five-number 1列 --presorted 五数要約
gmean 1列 幾何平均
hmean 1列 調和平均
trimmed-mean 1列 --trim(デフォルト: 0.1) トリム平均(上下を除去)
statcpp desc summary test/e2e/data/basic.csv --col value
statcpp desc mean test/e2e/data/basic.csv --col value
statcpp desc median test/e2e/data/basic.csv --col value
statcpp desc mode test/e2e/data/basic.csv --col value
statcpp desc var test/e2e/data/basic.csv --col score --population
statcpp desc sd test/e2e/data/basic.csv --col score
statcpp desc range test/e2e/data/basic.csv --col value
statcpp desc iqr test/e2e/data/basic.csv --col value
statcpp desc cv test/e2e/data/basic.csv --col value
statcpp desc skewness test/e2e/data/basic.csv --col value
statcpp desc kurtosis test/e2e/data/basic.csv --col value
statcpp desc percentile test/e2e/data/basic.csv --col value --p 0.95
statcpp desc quartiles test/e2e/data/basic.csv --col value
statcpp desc five-number test/e2e/data/basic.csv --col value
statcpp desc gmean test/e2e/data/basic.csv --col value
statcpp desc hmean test/e2e/data/basic.csv --col value
statcpp desc trimmed-mean test/e2e/data/basic.csv --col value --trim 0.1

test - 統計検定

--alternativetwo-sided / less / greater)と --alpha(デフォルト 0.05)を指定可能。

サブコマンド --col 追加の必須オプション 追加の任意オプション 説明
t 1列 or 2列 --mu0, --paired, --alternative t 検定(列数で自動判定: 1列=1標本, 2列=2標本)
welch 2列 --alternative Welch の t 検定
z 1列 --sigma --mu0, --alternative z 検定(既知の母標準偏差が必要)
f 2列 --alternative F 検定(等分散の検定)
shapiro 1列 Shapiro-Wilk 正規性検定
ks 1列 Lilliefors 正規性検定
mann-whitney 2列 --alternative Mann-Whitney U 検定
wilcoxon 1列 or 2列 --mu0, --alternative Wilcoxon 符号順位検定(1列=1標本, 2列=対応あり)
kruskal 2列以上 Kruskal-Wallis 検定
levene 2列以上 Levene 検定(等分散性)
bartlett 2列以上 Bartlett 検定(等分散性)
chisq 1列 or 2列 カイ二乗検定(1列=適合度, 2列=観測/期待)
statcpp test t test/e2e/data/two_groups.csv --col group1 --mu0 25
statcpp test t test/e2e/data/two_groups.csv --col group1,group2
statcpp test t test/e2e/data/two_groups.csv --col group1,group2 --paired
statcpp test welch test/e2e/data/two_groups.csv --col group1,group2
statcpp test z test/e2e/data/two_groups.csv --col group1 --mu0 25 --sigma 3
statcpp test f test/e2e/data/two_groups.csv --col group1,group2
statcpp test shapiro test/e2e/data/two_groups.csv --col group1
statcpp test ks test/e2e/data/two_groups.csv --col group1
statcpp test mann-whitney test/e2e/data/two_groups.csv --col group1,group2
statcpp test wilcoxon test/e2e/data/two_groups.csv --col group1 --mu0 25
statcpp test wilcoxon test/e2e/data/two_groups.csv --col group1,group2
statcpp test kruskal test/e2e/data/scores.csv --col math,science,english
statcpp test levene test/e2e/data/scores.csv --col math,science,english
statcpp test bartlett test/e2e/data/scores.csv --col math,science,english
statcpp test chisq test/e2e/data/basic.csv --col value
statcpp test chisq test/e2e/data/two_groups.csv --col group1,group2

corr - 相関・共分散

サブコマンド --col 追加オプション 説明
pearson 2列 Pearson 相関係数
spearman 2列 Spearman 順位相関係数
kendall 2列 Kendall の順位相関係数
cov 2列 --population 共分散
matrix 2列以上 相関行列
statcpp corr pearson test/e2e/data/two_groups.csv --col group1,group2
statcpp corr spearman test/e2e/data/two_groups.csv --col group1,group2
statcpp corr kendall test/e2e/data/two_groups.csv --col group1,group2
statcpp corr cov test/e2e/data/two_groups.csv --col group1,group2
statcpp corr matrix test/e2e/data/scores.csv --col math,science,english

effect - 効果量

サブコマンド --col 追加の必須オプション 追加の任意オプション 説明
cohens-d 1列 or 2列 --mu0 Cohen's d(1列=1標本, 2列=2標本)
hedges-g 1列 or 2列 --mu0 Hedges' g(小標本補正付き)
glass-delta 2列 Glass's delta(対照群の SD で標準化)
cohens-h 不要(CSV 不要) --p1, --p2 Cohen's h(比率の効果量)
odds-ratio 1列(4値) オッズ比(a,b,c,d の4値)
risk-ratio 1列(4値) リスク比(a,b,c,d の4値)
statcpp effect cohens-d test/e2e/data/two_groups.csv --col group1 --mu0 25
statcpp effect cohens-d test/e2e/data/two_groups.csv --col group1,group2
statcpp effect hedges-g test/e2e/data/two_groups.csv --col group1,group2
statcpp effect glass-delta test/e2e/data/two_groups.csv --col group1,group2
statcpp effect cohens-h --p1 0.6 --p2 0.4
statcpp effect odds-ratio test/e2e/data/contingency.csv --col value
statcpp effect risk-ratio test/e2e/data/contingency.csv --col value

ci - 信頼区間

--level で信頼水準を指定(デフォルト 0.95)。ci propci sample-size は CSV 入力不要です。

サブコマンド --col 追加の必須オプション 追加の任意オプション 説明
mean 1列 --sigma 平均の信頼区間(--sigma 指定で z、省略で t)
diff 2列 平均の差の信頼区間
prop 不要 --successes, --trials 比率の信頼区間 (Wilson)
var 1列 分散の信頼区間
sample-size 不要 --moe --sigma 必要サンプルサイズ(--sigma 指定で平均用、省略で比率用)
statcpp ci mean test/e2e/data/two_groups.csv --col group1
statcpp ci mean test/e2e/data/two_groups.csv --col group1 --level 0.99
statcpp ci mean test/e2e/data/two_groups.csv --col group1 --sigma 3
statcpp ci diff test/e2e/data/two_groups.csv --col group1,group2
statcpp ci prop --successes 45 --trials 100
statcpp ci var test/e2e/data/two_groups.csv --col group1
statcpp ci sample-size --moe 0.03
statcpp ci sample-size --moe 5 --sigma 20

reg - 回帰分析

--col の最後の列が目的変数、それ以外が説明変数です。

サブコマンド --col 説明
simple 2列 (x, y) 単回帰分析
multiple 3列以上 (x1,...,xp, y) 重回帰分析
predict 2列 (x, y) 予測値の計算
residuals 2列 (x, y) 残差診断
vif 2列以上(説明変数のみ) 分散膨張係数(多重共線性の診断)
statcpp reg simple test/e2e/data/two_groups.csv --col group1,group2
statcpp reg multiple test/e2e/data/scores.csv --col math,science,english
statcpp reg predict test/e2e/data/two_groups.csv --col group1,group2
statcpp reg residuals test/e2e/data/two_groups.csv --col group1,group2
statcpp reg vif test/e2e/data/two_groups.csv --col group1,group2

anova - 分散分析

各列を1群として扱います。

サブコマンド --col 説明
oneway 2列以上 一元配置分散分析
posthoc-tukey 2列以上 Tukey HSD 事後検定
posthoc-bonferroni 2列以上 Bonferroni 事後検定
posthoc-scheffe 2列以上 Scheffe 事後検定
eta-squared 2列以上 効果量(eta 二乗, omega 二乗, Cohen's f)
statcpp anova oneway test/e2e/data/scores.csv --col math,science,english
statcpp anova posthoc-tukey test/e2e/data/scores.csv --col math,science,english
statcpp anova posthoc-bonferroni test/e2e/data/scores.csv --col math,science,english
statcpp anova posthoc-scheffe test/e2e/data/scores.csv --col math,science,english
statcpp anova eta-squared test/e2e/data/scores.csv --col math,science,english

resample - リサンプリング

出力は乱数に依存するため、実行ごとに結果が変わります。

サブコマンド --col 追加オプション 説明
bootstrap-mean 1列 平均のブートストラップ信頼区間
bootstrap-median 1列 中央値のブートストラップ信頼区間
bootstrap-sd 1列 標準偏差のブートストラップ信頼区間
bca 1列 BCa 法(バイアス補正・加速ブートストラップ)
permtest 2列 --paired 置換検定(独立2群 / 対応あり)
permtest-corr 2列 相関の置換検定
statcpp resample bootstrap-mean test/e2e/data/basic.csv --col value
statcpp resample bootstrap-median test/e2e/data/basic.csv --col value
statcpp resample bootstrap-sd test/e2e/data/basic.csv --col value
statcpp resample bca test/e2e/data/basic.csv --col value
statcpp resample permtest test/e2e/data/two_groups.csv --col group1,group2
statcpp resample permtest test/e2e/data/two_groups.csv --col group1,group2 --paired
statcpp resample permtest-corr test/e2e/data/two_groups.csv --col group1,group2

ts - 時系列分析

サブコマンド --col 説明
acf 1列 自己相関関数(最大ラグ 20)
pacf 1列 偏自己相関関数
ma 1列 移動平均(ウィンドウ = 3)
ema 1列 指数移動平均(alpha = 0.3)
diff 1列 階差(1次)
mae 2列 (実測, 予測) 平均絶対誤差
rmse 2列 (実測, 予測) 二乗平均平方根誤差
mape 2列 (実測, 予測) 平均絶対パーセント誤差
statcpp ts acf test/e2e/data/two_groups.csv --col group1
statcpp ts pacf test/e2e/data/two_groups.csv --col group1
statcpp ts ma test/e2e/data/two_groups.csv --col group1
statcpp ts ema test/e2e/data/two_groups.csv --col group1
statcpp ts diff test/e2e/data/two_groups.csv --col group1
statcpp ts mae test/e2e/data/forecast.csv --col actual,predicted
statcpp ts rmse test/e2e/data/forecast.csv --col actual,predicted
statcpp ts mape test/e2e/data/forecast.csv --col actual,predicted

robust - ロバスト統計

サブコマンド --col 追加オプション 説明
mad 1列 中央絶対偏差 (MAD)
outliers 1列 外れ値検出(IQR 法)
outliers-zscore 1列 外れ値検出(Z-score 法)
outliers-modified 1列 外れ値検出(修正 Z-score / MAD ベース)
winsorize 1列 --trim(デフォルト: 0.1) ウィンソライズ
hodges-lehmann 1列 Hodges-Lehmann 推定量
biweight 1列 Biweight midvariance
statcpp robust mad test/e2e/data/two_groups.csv --col group1
statcpp robust outliers test/e2e/data/basic.csv --col value
statcpp robust outliers-zscore test/e2e/data/basic.csv --col value
statcpp robust outliers-modified test/e2e/data/basic.csv --col value
statcpp robust winsorize test/e2e/data/basic.csv --col value --trim 0.05
statcpp robust hodges-lehmann test/e2e/data/two_groups.csv --col group1
statcpp robust biweight test/e2e/data/two_groups.csv --col group1

survival - 生存分析

event 列: 1 = イベント発生, 0 = 打ち切り。

サブコマンド --col 説明
kaplan-meier 2列 (time, event) Kaplan-Meier 生存曲線
logrank 4列 (time1, event1, time2, event2) ログランク検定(2群比較)
nelson-aalen 2列 (time, event) Nelson-Aalen 累積ハザード
statcpp survival kaplan-meier test/e2e/data/survival.csv --col time,event
statcpp survival logrank test/e2e/data/survival_two.csv --col time1,event1,time2,event2
statcpp survival nelson-aalen test/e2e/data/survival.csv --col time,event

cluster - クラスタリング

2列以上の数値データが必要です。出力は乱数に依存する場合があります。

サブコマンド --col 説明
kmeans 2列以上 k-means クラスタリング(k = 3)
hierarchical 2列以上 階層的クラスタリング
silhouette 2列以上 シルエット分析(k = 3)
statcpp cluster kmeans test/e2e/data/scores.csv --col math,science,english
statcpp cluster hierarchical test/e2e/data/scores.csv --col math,science,english
statcpp cluster silhouette test/e2e/data/scores.csv --col math,science,english

multiple - 多重検定補正

p 値の列を指定します。

サブコマンド --col 説明
bonferroni 1列 Bonferroni 補正
holm 1列 Holm-Bonferroni 補正
bh 1列 Benjamini-Hochberg (FDR) 補正
statcpp multiple bonferroni test/e2e/data/pvalues.csv --col pvalue
statcpp multiple holm test/e2e/data/pvalues.csv --col pvalue
statcpp multiple bh test/e2e/data/pvalues.csv --col pvalue

power - 検出力分析

CSV 入力不要。--n を指定すると検出力を計算、省略すると必要サンプルサイズを計算します。

サブコマンド --col 必須オプション 任意オプション 説明
t-one 不要 --effect --n, --power(デフォルト: 0.8), --alternative 1標本 t 検定の検出力
t-two 不要 --effect --n, --power, --ratio(デフォルト: 1.0), --alternative 2標本 t 検定の検出力
prop 不要 --p1, --p2 --n, --power, --alternative 比率検定の検出力
statcpp power t-one --effect 0.5 --n 30
statcpp power t-one --effect 0.5 --power 0.8
statcpp power t-two --effect 0.5 --power 0.8 --ratio 2.0
statcpp power prop --p1 0.3 --p2 0.5 --n 50

glm - 一般化線形モデル

--col の最後の列が応答変数です。

サブコマンド --col 説明
logistic 2列以上 (x1,...,xp, y) ロジスティック回帰(y は 0/1 二値)
poisson 2列以上 (x1,...,xp, y) ポアソン回帰(y はカウントデータ)
statcpp glm logistic test/e2e/data/binary.csv --col x1,x2,y
statcpp glm poisson test/e2e/data/count.csv --col x1,x2,y

model - モデル選択

--col の最後の列が応答変数です。3列以上(説明変数2つ以上)が必要です。

サブコマンド --col 説明
aic 3列以上 AIC によるモデル比較
cv 3列以上 交差検証(5-fold)
ridge 3列以上 リッジ回帰(lambda = 1.0)
lasso 3列以上 LASSO 回帰(lambda = 1.0)
statcpp model aic test/e2e/data/scores.csv --col math,science,english
statcpp model cv test/e2e/data/scores.csv --col math,science,english
statcpp model ridge test/e2e/data/scores.csv --col math,science,english
statcpp model lasso test/e2e/data/scores.csv --col math,science,english

ショートカット

よく使うコマンドをカテゴリなしで入力できます。第一引数がショートカット名に一致すると、対応するカテゴリとコマンドに自動展開されます。

# 以下の2つは同じ結果
statcpp mean data.csv --col value
statcpp desc mean data.csv --col value
ショートカット 展開先
mean desc mean
median desc median
mode desc mode
sd desc sd
var desc var
summary desc summary
range desc range
iqr desc iqr
cv desc cv
skewness desc skewness
kurtosis desc kurtosis
quartiles desc quartiles
gmean desc gmean
hmean desc hmean
ttest test t
pearson corr pearson
spearman corr spearman
kendall corr kendall