溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于R語言如何實現T檢驗

發布時間:2022-01-21 11:42:33 來源:億速云 閱讀:422 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關基于R語言如何實現T檢驗的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

基于R實現統計中的檢驗方法---T檢驗

前言

T檢驗,亦稱student t檢驗(Student's t test),主要用于樣本含量較?。ɡ鏽 < 30),總體標準差σ未知的正態分布。T檢驗是用t分布理論來推論差異發生的概率,從而比較兩個平均數的差異是否顯著。

1.適用條件

已知一個總體均數;可得到一個樣本均數及該樣本標準差;樣本來自正態或近似正態總體。

備注:若是單獨樣本T檢驗,必須給出一個標準值或總體均值,同時,提供一組定量的觀測結果,應用t檢驗的前提條件是該組資料必須服從正態分布;若是配對樣本T檢驗,每對數據的差值必須服從正態分布;若是獨立樣本T檢驗,個體之前相互獨立,兩組資料均取自正態分布的總體,并滿足方差齊性。之所以需要這些前提條件,是因為必須在這樣的前提下所計算出的t統計量才服從t分布,而t檢驗正是以t分布作為其理論依據的檢驗方法。后面的方差分析,其獨立樣本T檢驗的前提條件是相同的,即正態性額方差齊性。

2.分類

單總T檢驗(單獨樣本T檢驗),雙總T檢驗(一是獨立樣本T檢驗,另一是配對樣本T檢驗)

備注:單獨樣本T檢核與獨立樣本T檢驗的區別。單獨樣本T檢驗(One-Samples T Test)用于進行樣本所在總體均數與已知總體均數的比較,獨立樣本T檢驗(Independent-Samples T Test)用于進行兩樣本均數的比較。

3.R實例

  —————————#單樣本T檢驗#——————————————
  #某魚塘水的含氧量多年平均值為4.5mg/L,現在該魚塘設10點采集水樣,測定水中含氧量(單位:mg/L)分別為:
  #4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26,問該次抽樣的水中含氧量與多年平均值是否有顯著差異?
  Sites<-c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)
  t.test(sites,mu=4.5)
          One Sample t-test
  
  data:  sites
  t = -0.93574, df = 9, p-value = 0.3738
alternative hypothesis: true mean is not equal to 4.5
95 percent confidence interval:
 4.230016 4.611984
sample estimates:
mean of x 
    4.421 
p=0.3738>0.05,認為所抽樣水體的含氧量與多年平均值無顯著差異

—————————#獨立樣本T檢驗#——————————————
#有兩種情況,一種是兩個總體方差齊性,另一種是兩個總體方差不齊。
#################兩樣本方差齊性
#用高蛋白和低蛋白兩種飼料飼養1月齡的大白鼠,飼養3個月后,測定兩組大白鼠的增重量(g),兩組數據分別如下所示:
#高蛋白組:134,146,106,119,124,161,107,83,113,129,97,123
#低蛋白組:70,118,101,85,107,132,94
#試問兩種飼料養殖的大白鼠增重量是否有顯著差異?
High<-c(134,146,106,119,124,161,107,83,113,129,97,123)
Low<-c(70,118,101,85,107,132,94)
Group<-c(rep(1,12),rep(0,7))#1表示High,0表示Low
x<-c(High,Low)
DATA<-data.frame(x,Group)
DATA$Group<-as.factor(DATA$Group)
#bartlett.test方差齊性檢驗
bartlett.test(x~Group)
        Bartlett test of homogeneity of variances

data:  x by Group
Bartlett's K-squared = 0.0066764, df = 1, p-value = 0.9349

#var.test方差齊性檢驗
var.test(x~Group)
 F test to compare two variances

data:  x by Group
F = 0.94107, num df = 6, denom df = 11, p-value = 0.9917
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.2425021 5.0909424
sample estimates:
ratio of variances 
          0.941066 

#leveneTest方差齊性檢驗(也是SPSS的默認方差齊性檢驗方法)
library(car)
leveneTest(DATA$x,DATA$Group)
Levene's Test for Homogeneity of Variance (center = median)
      Df F value Pr(>F)
group  1  0.0088 0.9264
      17              
#前兩者是對原始數據的方差進行檢驗的,leveneTest是對方差模型的殘差進行組間齊性檢驗.一般認為是要求殘差的方差齊,所以一般的統計軟件都做的是leveneTest
#結果說明兩獨立樣本數據方差齊性,可以進行獨立樣本T檢驗。
t.test(High,Low,paired=FALSE)
        Welch Two Sample t-test

data:  High and Low
t = 1.9319, df = 13.016, p-value = 0.07543
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.263671 40.597005
sample estimates:
mean of x mean of y 
 120.1667  101.0000 
結果表明兩種飼料養殖的大白鼠增重量無顯著差異。

#################兩樣本方差不齊
#有人測定了甲乙兩地區某種飼料的含鐵量(mg/kg),結果如下:
#甲地:5.9,3.8,6.5,18.3,18.2,16.1,7.6
#乙地:7.5,0.5,1.1,3.2,6.5,4.1,4.7
#試問這種飼料含鐵量在兩地間是否有顯著差異?
JIA<-c(5.9,3.8,6.5,18.3,18.2,16.1,7.6)
YI<-c(7.5,0.5,1.1,3.2,6.5,4.1,4.7)
Content<-c(JIA,YI)
Group<-c(rep(1,7),rep(2,7))#1表示甲地,2表示乙地
data<-data.frame(Content,Group)
data$Group<-as.factor(Group)

#bartlett.test方差齊性檢驗
bartlett.test(Content~Group)
 Bartlett test of homogeneity of variances

data:  Content by Group
Bartlett's K-squared = 3.9382, df = 1, p-value = 0.0472

#var.test方差齊性檢驗
var.test(Content~Group)
 F test to compare two variances

data:  Content by Group
F = 5.9773, num df = 6, denom df = 6, p-value = 0.04695
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
  1.02707 34.78643
sample estimates:
ratio of variances 
            5.9773 
#結果說明兩獨立樣本數據方差不齊,對齊進行方差不齊分析
t.test(Content,Group,paired=FALSE,var.equal=FALSE)
Welch Two Sample t-test

data:  Content and Group
t = 3.7511, df = 13.202, p-value = 0.002362
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 2.519419 9.337724
sample estimates:
mean of x mean of y 
 7.428571  1.500000 
#方差齊性檢驗表明,方差不等,因此設定var.equal=FALSE,此時p=0.0023<0.05,
#表明該飼料在兩地的含鐵量有顯著差異。


—————————#配對樣本T檢驗#——————————————
#某人研究沖水對草魚產卵率的影響, 獲得沖水前后草魚產卵率(%),如下:
#沖水前:82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4
#沖水后:91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8
#問:沖水前后草魚親魚產卵率有無差異?
Before<-c(82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4)
After<-c(91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8)
t.test(Before,After,paired=T)
        Paired t-test

data:  Before and After
t = -7.8601, df = 9, p-value = 2.548e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -9.1949 -5.0851
sample estimates:
mean of the differences 
                  -7.14 
結果表明,p=2.548e-05<0.01,表明沖水前后,草魚親魚的產卵率有非常顯著差異。

------------------------備注---------------------------
1)會有很多同學疑惑(Professionals don't laugh),為什么獨立樣本T檢驗有方差相等/不相等之分,而配對樣本T檢驗/單樣本T檢驗沒有?
2)t.test(x,y,alternative=c("two.sided","less","greater"),mu=0,paired=FALSE,
var.equal=FALSE,conf.level=0.95......)
如果只提供x,則作單個正態總體的均值檢驗,如果提供x,y則作兩個總體的均值檢驗),alternative表示被則假設,
two.sided(缺省),雙邊檢驗,less表示單邊檢驗,greater表示單邊檢驗,mu表示原假設μ0,若 paired=T,為配對檢驗,
則必須指定x和y,并且它們必須是相同的長度。默認刪除缺失值(如果配對為TRUE,則成對配對),var.equal是邏輯變量,
var.equal=TRUE表示兩樣品方差相同,var.equal=FALSE(缺?。┍硎緝蓸颖痉讲畈煌?,conf.level置信水平,即1-α,通常是0.95,。

感謝各位的閱讀!關于“基于R語言如何實現T檢驗”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女