Rによるデータ分析

Rによる違いの有無の分析

検定 は、「違いがあると言えるのか?」という事について、定量的な分析ができます。

2つの母平均の差の検定

平均値の差の検定 は、検定の中でも基本的なものになります。 データは、2列あって、1列目と2列目を比べることを想定しています。

スチューデントのt検定

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
t.test(x=Data$X1,y=Data$X2,var.equal=T,paired=F)
# スチューデントのt検定

ウェルチのt検定

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
t.test(x=Data$X1,y=Data$X2,var.equal=F,paired=F)
# ウェルチのt検定

2つ以上の母平均の差の検定

2つ以上の母平均の差の検定は、「 分散分析 」と呼ばれているものがあります。

一元配置分散分析

データは、1列目は「X」という列名でカテゴリ、2列目は「Y」という列名で数値が入っていることを想定しています。

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
summary(aov(Y~X,data=Data))
# 一元配置分散分析

二元配置分散分析(交互作用項なし)

データは、1列目、2列目は「X1」、「X2」という列名で水準名、3列目は「Y」という列名で数値が入っていることを想定しています。

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
summary(aov(Y~X1+X2,data=Data))
# 二元配置分散分析(交互作用項なし)

二元配置分散分析(交互作用項あり)

交互作用 も評価する場合は、「+」の所が、「*」になります。

交互作用項を入れる場合は、繰り返しデータが必要になります。 繰り返しデータとは、2つの因子のそれぞれの水準の組み合わせについて、複数回分のデータがあることを指します。

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
summary(aov(Y~X1*X2,data=Data))
# 二元配置分散分析(交互作用項あり)

平均やばらつきの違いの可視化

1つの量的変数を1つの質的変数で分解するグラフ

データは、「C1」という列名でカテゴリ、「Y1」という列名で数値が入っていることを想定しています。

ggplot(Data, aes(x=Y1)) + geom_histogram() + facet_grid(C1~.)# 層別ヒストグラムを描く
層別ヒストグラム

ggplot(Data, aes(x=C1, y=Y1)) + geom_point() # 一次元散布図を描く
1次元散布図

プロットの大きさはsize、横方向の散らばり具合はposition=position_jitterの数字で調節できます。

ggplot(Data, aes(x=C1, y=Y1)) + geom_jitter(size=1, position=position_jitter(0.1))# 一次元ジター散布図を描く
1次元散布図

ggplot(Data, aes(x=C1, y=Y1)) + geom_boxplot() # 箱ひげ図を描く
箱ひげ図

1つの量的変数を2つの質的変数で分解するグラフ

ggplot(Data, aes(x=Y1)) + geom_histogram() + facet_grid(C1+C2~.)# 2段層別ヒストグラムを描く
2段層別ヒストグラム

ggplot(Data, aes(x=C1, y=Y1)) + geom_jitter(size=1, position=position_jitter(0.1)) +facet_grid(.~C2)# 一次元散布図(二元配置)を描く
1次元散布図

対応のある平均値の差の検定

対応のある検定 は、実務で使う場面が少ないかもしれません。

対応のある2つの平均値の差の検定

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
t.test(x=Data$X1,y=Data$X2,paired=T)
# 対応のある平均値の差の検定

対応のある3つ以上の平均値の差の検定

データは、1列目、2列目は「X1」、「X2」という列名でカテゴリ、3列目は「Y」という列名で数値が入っていることを想定しています。 「X2」が対応を表す文字列になります。

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
summary(aov(Y~X1+X2,data=Data))
# 対応のある一元配置分散分析

母分散の比の検定(ばらつきの検定)

ばらつきの違いの検定 です。

2つの母分散の比の検定

データは、2列あって、「X1」、「X2」という列名が1行目にあって、その下に数値が入っていることを想定しています。)

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
var.test(x=Data$X1,y=Data$X2)
# 2つの母分散の比の検定

3つ以上の場合の検定(バートレット検定)

データは、1列目は「X」という列名でカテゴリ、2列目は「Y」という列名で数値が入っていることを想定しています。

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
bartlett.test(formula=Data$Y~Data$X)
# バートレット検定

比率の差の検定

「1/10」と「4/20」の差の検定の場合

prop.test(c(1,4),c(10,20))# 比率の差の検定

独立性の検定

カイ二乗検定を使った 独立性の検定 です。

setwd("C:/Rtest") # 作業用ディレクトリを変更
Data <- read.csv("Data.csv", header=T)
# データを読み込み
chisq.test(Data)
# カイ二乗検定

Tweet データサイエンス教室