top of page

 

#例7.1a

xa <- read.csv("Table713a.csv")
xa
attach(xa)

#片側検定:対立仮説μ1<μ2  :指定しなければ両側検定を行う

#ローデータから関数を利用 t.test(変数1,変数2,等分散の仮定,対立仮説)

#等分散を指定しなければ、ウェルチの方法を実行する

t.test(e_mas,c_mas,var.equal=T,alternative="less")

#信頼区間 p.217 を求める場合:両側検定

t.test(e_mas,c_mas,var.equal=T)

 #例7.1b 平均値と分散からt値を求め、dfを求める

x1 <- 13.00

x2 <- 17.60

s12 <- 20.33

s22 <- 22.17

n <- 25

t <- abs(x1-x2)/sqrt((s12+s22)/n)

t

df <- 2*(n-1)

df

#信頼区間 95%CI を求める(1つの平均値の場合を参照 標準誤差と臨界値から)

#標準誤差は p.203 ( nが等しい)

s <- sqrt((s12+s22)/n)

#両側分布5%の臨界値を求める:  t分布 df=48 上側確率 .025 のt値

tc <- qt(.025,df,lower.tail = F)

# 95% CI   L<μ1-μ2<H

L<- (x1-x2)-tc*s

H <- (x1-x2)+tc*s

L

H

#参考) 効果量

#平均値と分散から効果量を求める https://bellcurve.jp/statistics/course/12765.html

d2 <- abs(13.0-17.6)/sqrt((25*20.33+25*22.17)/(25+25))

#参考) 例7.1b ローデータからではなく、平均、分散、n から求めるには、

# 以下の関数を作り、利用できる

ttest = function(n1, x1, s1, n2, x2, s2) {

n = n1 + n2 - 2

u = ((n1 - 1) * s1^2 + (n2 - 1) * s2^2) / n

t = (x1 - x2) / sqrt(u / n1 + u / n2)

r = cat("Equal variance:\n\t", sep="")

r = cat(r, "t = ", t, ", df = ", n, ", p = ", 2 * pt(-abs(t), n), "\n", sep="")

t = (x1 - x2) / sqrt(s1^2 / n1 + s2^2 / n2)

n = (s1^2 / n1 + s2^2 / n2)^2 / ((s1^2 / n1)^2 / (n1-1) + (s2^2 / n2)^2 / (n2-1))

r = cat(r, "Unequal variance:\n\t", sep="")

cat(r, "t = ", t, ", df = ", n, ", p = ", 2 * pt(-abs(t), n), "\n", sep="")

}

#

n1=25

x1=13

s1=sqrt(20.33)

n2=25

x2=17.6

s2=sqrt(22.17)

ttest(n1,x1,s1,n2,x2,s2)

bottom of page