這篇文章給大家分享的是有關基于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檢驗”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。