スマートフォンでのご利用

Reactive stat では、基本的にスマートフォンでご利用いただけるように考えられています。

  • 画面はレスポンシブデザインです。
  • 豊富なヘルプ要素を のタップで表示できます。
  • データファイルは、スマートフォンのローカルストレージだけではなく、Google Drive, iCloud, Microsoft OneDrive などから読み込むことができます。

ユーザーフレンドリーなインターフェースで、R での信頼性の高い統計解析をスマートフォンで完結できるウェブアプリは他にありません!

ここでは、複数の説明変数によるデータ分析 (多変量解析) をスマートフォンで実行する実際の手順をご説明いたします。

  1. まず、トップページより「統計手法一覧」をタップします。
  2. 統計手法一覧ページにて、「統計的モデリング」の「複数の説明変数によるデータ分析 (多変量解析)」を選択します。

複数の説明変数によるデータ分析 (多変量解析) をスマートフォンで開くにはこの QR コードから

複数の説明変数によるデータ分析 (多変量解析) ページでは、以下の解析か可能です。それぞれに説明が書いてありますので、他に参考書を用意しなくても大丈夫です。

  • ANOVA (多元配置分散分析): Analysis of Variance
  • ロジスティック回帰モデル: Logistic Regression Model
  • ANCOVA (分散共分散分析): Analysis of Covariance
  • 重回帰分析 (Multiple Regression)
  • 多変量分析 (Multivariate Analysis)
  • 主成分分析 (Principal Component Analysis, PCA)
  • 因子分析 (Factor Analysis)

まだデータを読み込んでおりませんので、「データ」セクションは空になっています。ここでは、「サンプルデータと設定の呼び出し」をタップしてサンプルデータの読み込みウィンドウを開きます。

複数の説明変数によるデータ分析 (多変量解析)では複数の解析手法が用意されており、それぞれに適したサンプルデータが用意してあります。

ここでは、ロジスティック回帰モデル: Logistic Regression Model 用のサンプルデータを読み込みます。

データファイルは、「アヤメの花のデータ」で、3種類のアヤメの、萼 (がく) の長さと幅、花弁の長さと幅のデータです。

これに対し、

  • 従属変数: 花の種類 (カテゴリー変数)
  • 説明変数: 萼の長さ、萼の幅、花弁の長さ、花弁の幅 (いずれも連続変数)

を設定します。

すなわち、萼の長さ、萼の幅、花弁の長さ、花弁の幅 が、花の種類 にどのように影響するか (花の種類を判定できるか) を調べようというわけです。

サンプルデータと設定を読み込むと、「データ」セクションに表型式でデータ内容が表示されます。

その下には、従属変数と説明変数に設定したデータの要約が表示されます。 小さなヒストグラムとともに表示されますので、ビジュアル的に概要を用意に把握できます。

すなわち、データ内容を理解して次のステップに進むことができるのです。

統計手法の選択

さて、「統計手法」セクションを見てみると、従属変数と説明変数に設定したデータの種類が表になっています。

その下には、このデータの種類の組み合わせの場合に適用可能な統計手法が緑色の背景で表示されます。 ここで、ロジスティック回帰モデル には、 「目的変数がカテゴリ型であり、説明変数は全て連続型またはカテゴリ型であるため、ロジスティック回帰モデルが適用可能です。」 と説明があり、設定した内容で適用可能であることがわかります。

ここで「移動」ボタンをクリックして、ロジスティック回帰モデル のセクションに移動します (スクロールでも移動できます)。

ロジスティック回帰モデルクラウド R で解析を実行します。

その流れは以下のとおりです。

  1. ブラウザに読み込まれたデータを前処理します。
  2. シンプルなデータ列と R のコードを作成して、ユーザーに提示します。
  3. ユーザーは、送信ボタンを押して、クラウド R のサーバーに送信します。
    • 一度確認していただくのは、個人情報を誤って送信してしまうことを防ぐためです (万一送信してもその内容が外部に漏れることはありません)。
    • クラウド R のサーバーには、最新バージョンの R がインストールされています。

送信内容

cat("
####  多項ロジスティック回帰モデル (Multinomial Logistic Regression Model)
")

data <- data.frame(
  花の種類 = as.factor(c("setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica")),
  萼の長さ = c(5.1,4.9,4.7,4.6,5,5.4,4.6,5,4.4,4.9,5.4,4.8,4.8,4.3,5.8,5.7,5.4,5.1,5.7,5.1,5.4,5.1,4.6,5.1,4.8,5,5,5.2,5.2,4.7,4.8,5.4,5.2,5.5,4.9,5,5.5,4.9,4.4,5.1,5,4.5,4.4,5,5.1,4.8,5.1,4.6,5.3,5,7,6.4,6.9,5.5,6.5,5.7,6.3,4.9,6.6,5.2,5,5.9,6,6.1,5.6,6.7,5.6,5.8,6.2,5.6,5.9,6.1,6.3,6.1,6.4,6.6,6.8,6.7,6,5.7,5.5,5.5,5.8,6,5.4,6,6.7,6.3,5.6,5.5,5.5,6.1,5.8,5,5.6,5.7,5.7,6.2,5.1,5.7,6.3,5.8,7.1,6.3,6.5,7.6,4.9,7.3,6.7,7.2,6.5,6.4,6.8,5.7,5.8,6.4,6.5,7.7,7.7,6,6.9,5.6,7.7,6.3,6.7,7.2,6.2,6.1,6.4,7.2,7.4,7.9,6.4,6.3,6.1,7.7,6.3,6.4,6,6.9,6.7,6.9,5.8,6.8,6.7,6.7,6.3,6.5,6.2,5.9),
  萼の幅 = c(3.5,3,3.2,3.1,3.6,3.9,3.4,3.4,2.9,3.1,3.7,3.4,3,3,4,4.4,3.9,3.5,3.8,3.8,3.4,3.7,3.6,3.3,3.4,3,3.4,3.5,3.4,3.2,3.1,3.4,4.1,4.2,3.1,3.2,3.5,3.1,3,3.4,3.5,2.3,3.2,3.5,3.8,3,3.8,3.2,3.7,3.3,3.2,3.2,3.1,2.3,2.8,2.8,3.3,2.4,2.9,2.7,2,3,2.2,2.9,2.9,3.1,3,2.7,2.2,2.5,3.2,2.8,2.5,2.8,2.9,3,2.8,3,2.9,2.6,2.4,2.4,2.7,2.7,3,3.4,3.1,2.3,3,2.5,2.6,3,2.6,2.3,2.7,3,2.9,2.9,2.5,2.8,3.3,2.7,3,2.9,3,3,2.5,2.9,2.5,3.6,3.2,2.7,3,2.5,2.8,3.2,3,3.8,2.6,2.2,3.2,2.8,2.8,2.7,3.3,3.2,2.8,3,2.8,3,2.8,3.8,2.8,2.8,2.6,3,3.4,3.1,3,3.1,3.1,3.1,2.7,3.2,3.3,3,2.5,3,3.4,3),
  花弁の長さ = c(1.4,1.4,1.3,1.5,1.4,1.7,1.4,1.5,1.4,1.5,1.5,1.6,1.4,1.1,1.2,1.5,1.3,1.4,1.7,1.5,1.7,1.5,1,1.7,1.9,1.6,1.6,1.5,1.4,1.6,1.6,1.5,1.5,1.4,1.5,1.2,1.3,1.5,1.3,1.5,1.3,1.3,1.3,1.6,1.9,1.4,1.6,1.4,1.5,1.4,4.7,4.5,4.9,4,4.6,4.5,4.7,3.3,4.6,3.9,3.5,4.2,4,4.7,3.6,4.4,4.5,4.1,4.5,3.9,4.8,4,4.9,4.7,4.3,4.4,4.8,5,4.5,3.5,3.8,3.7,3.9,5.1,4.5,4.5,4.7,4.4,4.1,4,4.4,4.6,4,3.3,4.2,4.2,4.2,4.3,3,4.1,6,5.1,5.9,5.6,5.8,6.6,4.5,6.3,5.8,6.1,5.1,5.3,5.5,5,5.1,5.3,5.5,6.7,6.9,5,5.7,4.9,6.7,4.9,5.7,6,4.8,4.9,5.6,5.8,6.1,6.4,5.6,5.1,5.6,6.1,5.6,5.5,4.8,5.4,5.6,5.1,5.1,5.9,5.7,5.2,5,5.2,5.4,5.1),
  花弁の幅 = c(0.2,0.2,0.2,0.2,0.2,0.4,0.3,0.2,0.2,0.1,0.2,0.2,0.1,0.1,0.2,0.4,0.4,0.3,0.3,0.3,0.2,0.4,0.2,0.5,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.4,0.1,0.2,0.1,0.2,0.2,0.1,0.2,0.2,0.3,0.3,0.2,0.6,0.4,0.3,0.2,0.2,0.2,0.2,1.4,1.5,1.5,1.3,1.5,1.3,1.6,1,1.3,1.4,1,1.5,1,1.4,1.3,1.4,1.5,1,1.5,1.1,1.8,1.3,1.5,1.2,1.3,1.4,1.4,1.7,1.5,1,1.1,1,1.2,1.6,1.5,1.6,1.5,1.3,1.3,1.3,1.2,1.4,1.2,1,1.3,1.2,1.3,1.3,1.1,1.3,2.5,1.9,2.1,1.8,2.2,2.1,1.7,1.8,1.8,2.5,2,1.9,2.1,2,2.4,2.3,1.8,2.2,2.3,1.5,2.3,2,2,1.8,2.1,1.8,1.8,1.8,2.1,1.6,1.9,2,2.2,1.5,1.4,2.3,2.4,1.8,1.8,2.1,2.4,2.3,1.9,2.3,2.5,2.3,1.9,2,2.3,1.8)
)
model <- nnet::multinom(花の種類 ~ 萼の長さ + 萼の幅 + 花弁の長さ + 花弁の幅, data = data, trace = FALSE)
model_summary <- summary(model, cor=FALSE, Wald=TRUE)
model_summary

cat("
# 指数化係数 オッズ比(Odds Ratio)
")
signif(exp(coef(model)), digits=3)

cat("
# 信頼区間
")
signif(exp(confint(model)), digits=3)

z <- coef(model)/model_summary$standard.errors
p.values <- signif((1 - pnorm(abs(z), 0, 1)) * 2, digits=3)
cat("
# p値
")
p.values

さて、クラウド R にコードを送信すると、すぐにサーバーからレスポンスが得られます。

その内容はブラウザに表示されます。

クラウド R からのレスポンス

####  多項ロジスティック回帰モデル (Multinomial Logistic Regression Model)
Call:
nnet::multinom(formula = 花の種類 ~ 萼の長さ + 萼の幅 + 
    花弁の長さ + 花弁の幅, data = data, trace = FALSE)

Coefficients:
           (Intercept) 萼の長さ   萼の幅 花弁の長さ 花弁の幅
versicolor      18.685  -5.3217  -8.6532     13.953  -3.0933
virginica      -23.700  -7.7824 -15.3073     23.342  15.0995

Std. Errors:
           (Intercept) 萼の長さ 萼の幅 花弁の長さ 花弁の幅
versicolor      30.307   76.672 134.16     52.563   39.689
virginica       31.210   76.694 134.25     52.875   40.196

Value/SE (Wald statistics):
           (Intercept)  萼の長さ   萼の幅 花弁の長さ  花弁の幅
versicolor     0.61653 -0.069408 -0.06450    0.26546 -0.077939
virginica     -0.75937 -0.101473 -0.11402    0.44146  0.375646

Residual Deviance: 11.9 
AIC: 31.9 

# 指数化係数 オッズ比(Odds Ratio)
           (Intercept) 萼の長さ   萼の幅 花弁の長さ 花弁の幅
versicolor     1.3e+08 0.004880 1.75e-04   1.15e+06 4.54e-02
virginica      5.1e-11 0.000417 2.25e-07   1.37e+10 3.61e+06

# 信頼区間
, , versicolor

                2.5 %    97.5 %
(Intercept)  2.08e-18  8.16e+33
萼の長さ     2.67e-68  8.95e+62
萼の幅      1.11e-118 2.74e+110
花弁の長さ   2.08e-39  6.33e+50
花弁の幅     7.47e-36  2.75e+32

, , virginica

                2.5 %    97.5 %
(Intercept)  1.38e-37  1.88e+16
萼の長さ     2.18e-69  7.99e+61
萼の幅      1.20e-121 4.23e+107
花弁の長さ   1.35e-35  1.40e+55
花弁の幅     2.20e-28  5.92e+40


# p値
           (Intercept) 萼の長さ 萼の幅 花弁の長さ 花弁の幅
versicolor       0.538    0.945  0.949      0.791    0.938
virginica        0.448    0.919  0.909      0.659    0.707

--------------------------------------------------------------
Analysis is conducted using R version 4.4.0 (2024-04-24) 
The script uses the following packages and versions:
compiler 4.4.0
nnet 7.3-19

クラウド R の結果枠の下に、「内容をクラウドに送信して AI の解説を得る」というボタンがありますので、そこをクリックすると、 クラウド R の出力内容が AI に送信され、その内容を AI が解説してくれます。

無料ユーザー様の場合は1日あたりの実行回数に制限があります。 有料ライセンスをご購入いただきますの、制限なく扱いいただけます。

数秒程度待たされますが、AI からは、日本語のわかりやすい解説が返されます。

AI による R 出力結果の解説

統計手法:
この出力は、多項ロジスティック回帰モデルの結果を示しています。多項ロジスティック回帰は、従属変数が3つ以上のカテゴリカル変数を予測するための統計手法です。ここでは、花の種類(iris setosa、iris versicolor、iris virginica)を従属変数とし、萼の長さ、萼の幅、花弁の長さ、花弁の幅を説明変数として分析しています。
多項ロジスティック回帰モデルは、基準カテゴリに対する他のカテゴリのオッズ比を推定します。オッズ比は、ある説明変数が1単位増加したときに、目的変数のカテゴリが変化する確率の比率を表します。

結果の解説:
この分析結果から以下のことが分かります:
- 萼の長さ、萼の幅、花弁の長さ、花弁の幅のすべての説明変数が、花の種類を予測する上で統計的に有意ではありません(p値>0.05)。
- オッズ比を見ると、萼の長さ、萼の幅が増加すると、iris versicolor とiris virginica の確率が減少する傾向にあります。一方、花弁の長さが増加すると、iris versicolor とiris virginica の確率が増加する傾向にあります。
- 全体としては、この4つの説明変数では、花の種類を十分に予測することはできないと考えられます。

効果量:
効果量はありません。多項ロジスティック回帰では、オッズ比が主要な指標となります。オッズ比は、ある説明変数が1単位増加したときに、目的変数のカテゴリが変化する確率の比率を表します。

論文に書く場合の文章例:
多項ロジスティック回帰の結果、萼の長さ、萼の幅、花弁の長さ、花弁の幅のいずれの説明変数も、iris setosa、iris versicolor、iris virginicaの3つの花の種類を有意に予測することはできませんでした(p>0.05)。オッズ比の推定値から、萼の長さと萼の幅が増加すると、iris versicolor とiris virginicaの確率が減少する傾向にあり、一方で花弁の長さが増加すると、iris versicolor とiris virginicaの確率が増加する傾向にあることが示されました。

R のバージョン:
この解析は R version 4.4.0 (2024-04-24) で行われました。