
の続きです。前回は、t.test()関数で令和5年の精神科病院の在院患者数の比率と令和3年の比率を比較して、統計的に有意な差は認められないことを確認しました。
今回は、inferパッケージのワークフローを適用して、コンピューターシミュレーションベースでも差が認められないことを確認してみます。
まずは、inferパッケージを読み込みます。

こちらのウェブサイトを参考にしてコードを書いていきます。
まずは、観察された統計値をだします。

diffの平均値は、-0.00127です。
次に、null distributionを生成します。

このコードに意味は、diffの平均値が0だという帰無仮説のものて、1000回、ランダムなdiffの分布をブートストラップ法で生成して、1000個の平均値を生成、ということです。
この1000個の平均値を視覚化します。


赤い垂線が実際に観察された平均値です。ちょっと0からは外れてはいます。
p値を計算します。

p値は0.074です。これは前回のt.test()関数でのp値と同じですね。

5%水準では、有意な差は認められないけれども、10%水準では有意な差を認められる、という微妙なところですね。
今回は以上です。
はじめから読むには、
です。
今回のコードは以下になります。
#
# inferパッケージを読み込む
library(infer)
#
# 観察された統計値
observed_statistic <- df_ratio |>
specify(response = diff) |>
calculate(stat = "mean")
observed_statistic
#
# null distributionの生成
set.seed(210)
null_dist_1_sample <- df_ratio |>
specify(response = diff) |>
hypothesize(null = "point", mu = 0) |>
generate(rep = 1000, type = "bootstrap") |>
calculate(stat = "mean")
#
# null distributionの視覚化
null_dist_1_sample |>
visualize() +
shade_p_value(
observed_statistic,
direction = "two-sided"
)
#
# p値の計算
p_value_1_sample <- null_dist_1_sample |>
get_p_value(obs_stat = observed_statistic,
direction = "two-sided")
p_value_1_sample
#
# t.test関数でのp値
t.test(df_ratio$diff)$p.value
#
(冒頭の画像は、Bing Image Creator で生成しました。プロンプトは Landscape of higher Japanese mountains, flowering blue iris flowers on the foot of mountains, photo です)