2026年8月10日月曜日

独立2群のt検定

Rによる独立2群のt検定

 CSV形式で,以下のようなコレステロールと飲用しているサプリメントの種類に関するデータがあったとします(これをexample_a.csvというファイル名で保存します).

choles,suppl

118,A

132,A

120,A

115,A

113,A

129,B

126,B

134,B

135,B

131,B

このデータを用いて,独立2群のt検定を行うには以下のようなコマンドを実行します.

まずは,データのcsvファイル(example_a.csv)を読み込み,"ex.a"という名前をつけます.ターミナルからRを起動して,以下のコマンドを実行します.

> ex.a <- read.csv("example_a.csv")

ex.a にデータが格納されているかを確認しておきます.

> ex.a

   choles suppl

1     118     A

2     132     A

3     120     A

4     115     A

5     113     A

6     129     B

7     126     B

8     134     B

9     135     B

10    131     B

データの構造を確認するための 関数str を使って,データを見てみます.

> str(ex.a)

'data.frame': 10 obs. of  2 variables:

 $ choles: int  118 132 120 115 113 129 126 134 135 131

 $ suppl : chr  "A" "A" "A" "A" ...

ここで,以下の文章はex.aがデータフレーム型であり,2つの変数からなっていて,それぞれ10個の観測値を持つと書かれています.これは正しいのでOKです.

'data.frame': 10 obs. of  2 variables:


続いて,変数に関する情報です.最初の"choles"は,int(整数)型の数値であることを示していて,各値も示されています.続いて,2つ目の変数"suppl"は,chr(文字列)型の変数として読み込まれています.

 $ choles: int  118 132 120 115 113 129 126 134 135 131

 $ suppl : chr  "A" "A" "A" "A" ...

"suppl"がchr(文字列)型のままでは解析ができないので,以下のようにfactor関数を使って,強制的に因子型に読み直すように指示します.

> ex.a $ suppl <- factor(ex.a $suppl)

再度,確認してみると,int型で認識されていることが確認できます.

> str(ex.a)

'data.frame': 10 obs. of  2 variables:

 $ choles: int  118 132 120 115 113 129 126 134 135 131

 $ suppl : Factor w/ 2 levels "A","B": 1 1 1 1 1 2 2 2 2 2


ここから,t検定に入ります.まずは,関数attachを使ってデータフレーム"ex.a"の中を探索範囲とします.

> attach(ex.a)

t検定を行うには,以下のコマンドを実行します."choles"を応答変数(response variable),"suppl"を説明変数(explanatory variable)にモデル式(choles ~ suppl)として指定して,"var.equal=T"では,等分散を仮定してt検定を行うという指示を出しています.ここで,"T"は"TRUE"を意味し,そのように書いても問題ありません.

> t.test(choles ~ suppl, var.equal=T)


Two Sample t-test


data:  choles by suppl

t = -3.0732, df = 8, p-value = 0.01527

alternative hypothesis: true difference in means between group A and group B is not equal to 0

95 percent confidence interval:

 -19.954001  -2.845999

sample estimates:

mean in group A mean in group B 

          119.6           131.0 

関数attachを使わない方法としては"$"を使う方法があります.

> t.test(ex.a$choles ~ ex.a$suppl, var.equal=T)


Two Sample t-test


data:  ex.a$choles by ex.a$suppl

t = -3.0732, df = 8, p-value = 0.01527

alternative hypothesis: true difference in means between group A and group B is not equal to 0

95 percent confidence interval:

 -19.954001  -2.845999

sample estimates:

mean in group A mean in group B 

          119.6           131.0 

得られる結果は,当然同じ結果になります.

結果について説明しておくと,tの値は検定統計寮,dfは自由度,p-valueはP値を示しています.

t = -3.0732, df = 8, p-value = 0.01527

この結果では,P値が0.01527と有意水準αの0.05(5%)より小さいので,統計的に有意という結果が得られています.
比較する2つの母集団AとBの,母平均の差 μAB に対する95%信頼区間の下限(下限信頼限界)は-19.954001に,上限(上限信頼限界)は-2.845999になります.

95 percent confidence interval:

 -19.954001  -2.845999

また,Aグループの平均は119.6,Bグループの平均は131.0となっています.

mean in group A mean in group B 

          119.6           131.0 




2026年8月9日日曜日

Jupyter Notebook でJuliaを使う際の設定メモ

 HomebrewでJuliaをインストールするには,ターミナルから以下のコマンドを実行します.

% brew install --cask julia


Jupyter Notebookはインストールされている前提で,Juliaのパスを通します.

% echo 'export PATH=$PATH:/path/to/install/folder/bin' >> ~/.zshrc

$ exec $SHELL

Juliaを起動して"]"を押すとパッケージモードに変わるので,以下のように"IJulia"パッケージを追加します.

% Julia                                                            

               _

   _       _ _(_)_     |  Documentation: https://docs.julialang.org

  (_)     | (_) (_)    |

   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.

  | | | | | | |/ _` |  |

  | | |_| | | | (_| |  |  Version 1.12.6 (2026-04-09)

 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org release

|__/                   |


(@v1.12) pkg> add IJulia


インストールが済んで,Jupyter Notebookを立ち上げると,Juliaを選択できるようになっているはずです.

一応,ターミナルからJupyterのカーネルを確認すると,以下のようになっているはずです.

% jupyter kernelspec list

Available kernels:

  ir            /Users/***/Library/Jupyter/kernels/ir

  julia-1.12    /Users/***/Library/Jupyter/kernels/julia-1.12

  python3       /opt/anaconda3/share/jupyter/kernels/python3

2026年8月8日土曜日

Jupyter Notebook でRを使う際の設定メモ

 導入にあたって,作業がダブっている可能性もありますが,実施した事を列挙しておきます.実施したのは,Apple M3が搭載されているMac Book Airです.

まずは,ターミナルを立ち上げて,Homebrew経由でZMQをインストールしました.

% brew update

% brew install zmq

必要ないとは思いますが,アップグレードもかけておきます.

% brew upgrade zmq


続けて,R パッケージを立ち上げて以下のコマンドを実行します.

> install.packages('devtools')

このコマンドを実施すると,以下のようにどこからダウンロードを行うか選択する必要があります.

--- Please select a CRAN mirror for use in this session ---

ここでは,Japanを選択しました.
続いて,以下のコマンドを実行します.

> install.packages(c('repr', 'IRdisplay', 'IRkernel'), type = 'source')

> IRkernel::installspec()


以上のコマンドを実行した後に,ターミナルからJupyter Notebookを立ち上げます.

% Jupyter-notebook

そして,Jupyter Notebookの右上の"New"プルダウンを開いてRがあれば成功です.