Rで解析:RでSPSSのT検定周りを確認しました。

研究分野によって「検定に使用するソフトウェア」のスタンダードは若干異なりますが、SPSSを押さえておけば間違いが無いと思います。そこで、Rの普及を願いSPSSのT検定周りを再現する方法を確認したので紹介します。

検定は実験計画に基づき実施するのが基本と考えます。紹介するデータ例はデタラメです。あくまでSPSSとRの結果が同じになるRのコマンドを紹介します。きちんと実験計画に則り検定を実施していただければと思います。

なお、実行コマンドはR version 4.2.2で確認しています。

実行コマンド

詳細はコメント、パッケージヘルプを確認してください。SPSSのシンタックス出力にdescrパッケージを使用しています。過去に紹介していますので、ぜひ検索してみて下さい。

set.seed(1234)
###R用データ例の作成#####
n <- 50
TestData <- data.frame(Group = sample(paste0("Group", 1:2), n, replace = TRUE),
                       Effects = sample(c("Low", "Middle", "Hight"), n, replace = TRUE),
                       Data1 = sample(1:20, n, replace = TRUE),
                       Data2 = sample(21:30, n, replace = TRUE),
                       Data3 = sample(1:100, n, replace = TRUE))
########

###SPSS&#29992;&#12487;&#12540;&#12479;&#20363;&#12398;&#20316;&#25104;#####
#&#20316;&#26989;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;TestData&#12434;SPSS&#12391;&#20877;&#29694;&#12377;&#12427;&#12471;&#12531;&#12479;&#12483;&#12463;&#12473;&#12392;&#12487;&#12540;&#12479;&#12501;&#12449;&#12452;&#12523;&#12364;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;
#descr&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#36942;&#21435;&#35352;&#20107;&#12434;&#21442;&#29031;&#12367;&#12384;&#12373;&#12356;
#install.packages("descr")
library("descr")
data.frame2txt(TestData, sps.codefile = "TestData.sps",
               datafile = "TestData.txt", r.codefile = "TestData.R")
########

###########################################
###1&#12469;&#12531;&#12503;&#12523;&#12398;T&#26908;&#23450;&#12391;&#34920;&#31034;&#12373;&#12428;&#12427;&#32080;&#26524;&#12398;&#20877;&#29694;##
###########################################
t.test(TestData[, 4], mu = 15)
#One Sample t-test
#data:  TestData[, 4]
#t = 27.594, df = 49, p-value &lt; 2.2e-16
#alternative hypothesis: true mean is not equal to 15
###SPSS&#12399;&#24046;&#12398;95%&#20449;&#38972;&#21306;&#38291;&#12391;&#12354;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;###
#95 percent confidence interval:
#   25.12475 26.71525
#sample estimates:
#  mean of x 
#      25.92

###########################################
###&#29420;&#31435;&#12375;&#12383;T&#26908;&#23450;&#12391;&#34920;&#31034;&#12373;&#12428;&#12427;&#32080;&#26524;&#12398;&#20877;&#29694;#####
###########################################
#&#31561;&#20998;&#25955;&#24615;&#12398;&#12383;&#12417;&#12398; Levene &#12398;&#26908;&#23450;
library(car)
levene.test(TestData[, 4], TestData[, 1], center=mean)
#Levene's Test for Homogeneity of Variance (center = mean)
#      Df F value Pr(&gt;F)
#group  1  0.2178 0.6428
#      48

#&#31561;&#20998;&#25955;&#12434;&#20206;&#23450;&#12375;&#12383;&#22580;&#21512;
t.test(subset(TestData[, 4], TestData[, 1] == "Group1"),
       subset(TestData[, 4], TestData[, 1] == "Group2"), var.equal = TRUE)
#Two Sample t-test
#data:  subset(TestData[, 4], TestData[, 1] == "Group1") and subset(TestData[, 4], TestData[, 1] == "Group2")
#t = 0.50152, df = 48, p-value = 0.6183
#alternative hypothesis: true difference in means is not equal to 0
#95 percent confidence interval:
#  -1.203641  2.003641
#sample estimates:
#  mean of x mean of y 
#      26.12     25.72 

#&#31561;&#20998;&#25955;&#12434;&#20206;&#23450;&#12375;&#12394;&#12356;&#22580;&#21512;
t.test(subset(TestData[, 4], TestData[, 1] == "Group1"),
       subset(TestData[, 4], TestData[, 1] == "Group2"), var.equal = FALSE)
#Welch Two Sample t-test
#data:  subset(TestData[, 4], TestData[, 1] == "Group1") and subset(TestData[, 4], TestData[, 1] == "Group2")
#t = 0.50152, df = 47.736, p-value = 0.6183
#alternative hypothesis: true difference in means is not equal to 0
#95 percent confidence interval:
#  -1.203871  2.003871
#sample estimates:
#  mean of x mean of y 
#      26.12     25.72 

###########################################
###&#23550;&#24540;&#12354;&#12427;T&#26908;&#23450;&#12391;&#34920;&#31034;&#12373;&#12428;&#12427;&#32080;&#26524;&#12398;&#20877;&#29694;#####
###########################################
t.test(TestData[, 3], TestData[, 4], paired = TRUE)
#Paired t-test
#data:  TestData[, 3] and TestData[, 4]
#t = -17.59, df = 49, p-value &lt; 2.2e-16
#alternative hypothesis: true difference in means is not equal to 0
#95 percent confidence interval:
#  -16.69144 -13.26856
#sample estimates:
#mean of the differences 
#                 -14.98 

SPSSによる結果

SPSSR

Rの結果と見比べてもらえればと思います。descrパッケージの利用によりSPSSで結果を再現することが可能です。

SPSSのシンタックスは以下の通りです。

/* 1サンプルのT検定
T-TEST
/TESTVAL=15
/MISSING=ANALYSIS
/VARIABLES=Data2
/CRITERIA=CI(.95).
/* 独立したサンプルのT検定
T-TEST GROUPS=Group(1 2)
/MISSING=ANALYSIS
/VARIABLES=Data2
/CRITERIA=CI(.95).
/*対応あるサンプルのT検定
T-TEST PAIRS=Data1 WITH Data2 (PAIRED)
/CRITERIA=CI(.9500)
/MISSING=ANALYSIS.

少しでも、あなたのウェブや実験の解析が楽になりますように!!

Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.
タイトルとURLをコピーしました