久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

R語言系列第四期:④R語言簡單相關(guān)與回歸

 創(chuàng)客小組 2019-04-23

文章來源于: sci

這一系列里前面的三個部分都是用于比較組間差異的各種方法,,詳情點擊R語言系列第四期:①R語言單樣本雙樣本差異性檢驗,、R語言系列第四期:②R語言多組樣本方差分析與KW檢驗R語言系列第四期:③R語言表格數(shù)據(jù)率的比較

在這個部分里,,我們會為大家介紹如何使用R進行基礎(chǔ)回歸和相關(guān)分析,,以及模型作圖,、置信區(qū)間的預估和展示,。

A. 簡單線性回歸

我們使用數(shù)據(jù)集thuesen作為這一部分的例子,如下導入:

> library(ISwR)

> attach(thuesen)

我們使用函數(shù)lm( linear model,線性模型 )進行線性分析:

> lm(short.velocity~blood.glucose)

Call:

lm(formula = short.velocity ~ blood.glucose)

Coefficients:

(Intercept)  blood.glucose 

1.09781        0.02196 

#Tips:函數(shù)lm()里面的參數(shù)是模型方程,,波浪號(~)可以認為是“通過來描述”,。它在之前出現(xiàn)過幾次,比如圖形展示部分箱式圖boxplot(),t檢驗,,anova檢驗里等等,。

#Tipslm()函數(shù)的原始輸出格式非常簡單。你能看見的只有估計出來的截距α與斜率β,??梢钥闯鲎顑?yōu)擬合直線為:short.velocity=1.098+0.0220*blood.glucose,但是沒有給出其他任何像顯著性檢驗之類的信息,。

#Tips:其實,,函數(shù)lm()可以處理比簡單線性回歸復雜很多的模型,。除了一個解釋變量與一個因變量之外,模型方程還能描述很多其他的情況,。比如,要在y上通過x1,,x2,,x3進行多元線性回歸分析(后文會介紹),可以通過y~x1+x2+x3來完成,。

如果要獲悉模型的其他信息,,可以使用summary()

> summary(lm(short.velocity~blood.glucose))

Call:

lm(formula = short.velocity ~ blood.glucose)

Residuals:

Min       1Q   Median       3Q      Max

-0.40141 -0.14760 -0.02202  0.03001  0.43490

Coefficients:

Estimate Std. Error t value Pr(>|t|)   

(Intercept)    1.09781    0.11748   9.345 6.26e-09 ***

blood.glucose  0.02196    0.01045   2.101   0.0479 * 

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.2167 on 21 degrees of freedom

(1 observation deleted due to missingness)

Multiple R-squared:  0.1737,    Adjusted R-squared:  0.1343 

F-statistic: 4.414 on 1 and 21 DF,  p-value: 0.0479

##Tips:首先,是

Call:

lm(formula = short.velocity ~ blood.glucose)

輸出的開頭本質(zhì)上在重復一個函數(shù)的調(diào)用,。當然如果你一開始就把模型賦值給了一個變量,,那么調(diào)用summary()之后這個部分就是那個變量了。

Residuals:

Min  1Q   Median   3Q    Max

-0.40141 -0.14760 -0.02202  0.03001  0.43490

這部分簡單地描述了殘差的分布,,可以幫助用戶對分布的假設(shè)做快速檢查,。

Coefficients:

Estimate  Std. Error  t value  Pr(>|t|)   

(Intercept)    1.09781    0.11748   9.345 6.26e-09 ***

blood.glucose  0.02196    0.01045   2.101   0.0479 * 

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

這里我們再次見到了回歸系數(shù)和截距,不過這次還伴有標準誤,,t檢驗和p值,,以及最右側(cè)的統(tǒng)計檢驗表示顯著性水平的圖像化標志。當然,,如果你不喜歡這些星號,,可以使用options(show.signif.stars=F)關(guān)閉它們。

Residual standard error: 0.2167 on 21 degrees of freedom

(1 observation deleted due to missingness)

殘差波動情況,。

Multiple R-squared:  0.1737,    Adjusted R-squared:  0.1343 

F-statistic: 4.414 on 1 and 21 DF,  p-value: 0.0479

上式第一項是R2,,在簡單線性回歸里可以被理解為Pearson相關(guān)系數(shù)的平方,另一個是修正后的R2,;第二行是對假設(shè)回歸系數(shù)是0進行的F檢驗,,對整體模型的檢驗。實際上,,F檢驗是t檢驗的平方:4.414=2.1012,。

我們先把數(shù)據(jù)點和回歸線畫出來:

> plot(blood.glucose,short.velocity)

> abline(lm(short.velocity~blood.glucose))

R語言系列第四期:④R語言簡單相關(guān)與回歸

#Tipsabline()函數(shù)根據(jù)截距和斜率畫一條直線。它能夠接受數(shù)值參數(shù),,比如abline(1.1,0.022),;不過更方便的是,它也能夠從一個用lm擬合的線性回歸中直接提取相關(guān)信息,。

B. 預測和置信帶

無論是否計算了置信帶和預測帶,,我們都能夠用函數(shù)predict析取出預測值,不加其他參數(shù),,它就只會輸出回歸值,。我們?yōu)榱朔奖阌米兞?/span>lm.velo代替模型:

> lm.velo<-lm(short.velocity~blood.glucose)

> predict(lm.velo)

1    2    3    4    5    6    7

1.433841 1.335010 1.275711 1.526084 1.255945 1.214216 1.302066

8    9    10   11  12  13  14

1.341599 1.262534 1.365758 1.244964 1.212020 1.515103 1.429449

15      17      18      19      20      21      22

1.244964 1.190057 1.324029 1.372346 1.451411 1.389916 1.205431

23      24

1.291085 1.306459

如果你加上了interval=”confidence”或者interval=”prediction”,,那么你就能在預測值向量的基礎(chǔ)上得到各類估計邊界的值。同時也可以縮寫這兩個單詞:

> predict(lm.velo,int=”c”)

fit      lwr      upr

1  1.433841 1.291371 1.576312

2  1.335010 1.240589 1.429431

3  1.275711 1.169536 1.381887

…..

22 1.205431 1.053805 1.357057

23 1.291085 1.191084 1.391086

24 1.306459 1.210592 1.402326

> predict(lm.velo,int=”p”)

fit       lwr      upr

1  1.433841 0.9612137 1.906469

2  1.335010 0.8745815 1.795439

3  1.275711 0.8127292 1.738693

22 1.205431 0.7299634 1.680899

23 1.291085 0.8294798 1.752690

24 1.306459 0.8457315 1.767186

Warning message:

In predict.lm(lm.velo, int = “p”) :

用當前數(shù)據(jù)得到的預測結(jié)果對_未來_響應有用

#Tips:前一個是置信帶,,后一個是預測帶,。lwrupr分別是下界和上界。Warning信息里提醒我們:這個預測邊界不能用來考察我們做回歸線所使用的已觀測數(shù)據(jù),。

我們可以利用外部數(shù)據(jù)根據(jù)已有的模型做出它的預測情況圖,,圖形的展示可以通過下面的組合函數(shù)來實現(xiàn):

> pred.frame<-data.frame(blood.glucose=4:20)

> pp<-predict(lm.velo,int=”p”,newdata=pred.frame)

> pc<-predict(lm.velo,int=”c”,newdata=pred.frame)

> plot(blood.glucose,short.velocity,ylim=range(short.velocity,pp,na.rm=T))

> pred.gluc<-pred.frame$blood.glucose

> matlines(pred.gluc,pc,lty=c(1,2,2),col=”black”)

> matlines(pred.gluc,pp,lty=c(1,3,3),col=”black”)

R語言系列第四期:④R語言簡單相關(guān)與回歸

#Tips:我們采用由420這幾個數(shù)據(jù)作為新的x來做出預測情況的圖。Predict()函數(shù)里newdata=的參數(shù)就是調(diào)用新數(shù)據(jù)的參數(shù),;plot()函數(shù)里的ylim參數(shù)使用range()函數(shù)來保證圖形全部在范圍內(nèi),;matlines()函數(shù)里的lty是設(shè)置線型。

A. 皮爾遜相關(guān)系數(shù)

相關(guān)系數(shù)的計算可以使用cor()函數(shù),,但是如果對thuesen中的兩個向量也進行這樣簡單的操作,,就會發(fā)生下面狀況:

> cor(blood.glucose,short.velocity)

[1] NA

R中所有的基本統(tǒng)計函數(shù)都要求輸入的參數(shù)沒有缺失值,或者你明確指定如何處理缺失值,。對于函數(shù)mean(),,var(),sd()以及類似的單向量函數(shù),,你可以傳遞na.rm=T這個參數(shù)告訴它們在計算之前應該移除缺失值,。對于cor()函數(shù),use=complete.obs”代表提取所有變量全部非空的觀測,,你也可以這樣寫:

> cor(blood.glucose,short.velocity,use=”complete.obs”)

[1] 0.4167546

我們還可以通過如下的代碼得到一個數(shù)據(jù)框中多種變量的相關(guān)系數(shù)矩陣:

> cor(thuesen,use=”complete.obs”)

blood.glucose short.velocity

blood.glucose   1.0000000   0.4167546

short.velocity    0.4167546    1.0000000

#Tips:當然,,數(shù)據(jù)框中變量超過兩個結(jié)果會更有意思。

但是,,上面的結(jié)果只是跟我們展示了關(guān)聯(lián)系數(shù),,但是沒有做出檢驗,因此我們需要cor.test()函數(shù),,可以通過指定兩個變量來使用:

> cor.test(blood.glucose,short.velocity)

Pearson’s product-moment correlation

data:  blood.glucose and short.velocity

t = 2.101, df = 21, p-value = 0.0479

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

 0.005496682 0.707429479

sample estimates:

cor

0.4167546

#Tips:我們也能得到一個真實相關(guān)系數(shù)的置信區(qū)間,。注意,這里的p值和之前回歸分析的p值是一樣的,。同樣與之前回歸模型的anova表里的p值是一樣的,。

B. 斯皮爾曼相關(guān)系數(shù)和肯德爾等級相關(guān)系數(shù)

與前面的部分所講的單樣本和雙樣本問題一樣,相關(guān)問題也有非參數(shù)的方法,,這些方法的優(yōu)點在于不需要假設(shè)數(shù)據(jù)的正態(tài)分布性,,而且結(jié)果也不會受到單調(diào)變換的影響。

相關(guān)性檢驗的幾個方法都打包進了cor.test中,,沒有額外提供專門的spearman.test()函數(shù),。所以可以在cor.test()中指明:

> cor.test(blood.glucose,short.velocity,method=”spearman”)

Spearman’s rank correlation rho

data:  blood.glucose and short.velocity

S = 1380.4, p-value = 0.1392

alternative hypothesis: true rho is not equal to 0

sample estimates:

rho

0.318002

Warning message:

In cor.test.default(blood.glucose, short.velocity, method = “spearman”) :

無法給連結(jié)計算精確p

而等級相關(guān)同理,只需要在method參數(shù)中做出修改就可以實現(xiàn):

> cor.test(blood.glucose,short.velocity,method=”kendall”)

Kendall’s rank correlation tau

data:  blood.glucose and short.velocity

z = 1.5604, p-value = 0.1187

alternative hypothesis: true tau is not equal to 0

sample estimates:

tau

0.2350616

Warning message:

In cor.test.default(blood.glucose, short.velocity, method = “kendall”) :

無法給連結(jié)計算精確p

#Tips:注意,,這兩個非參數(shù)方法的相關(guān)系數(shù)在5%置信水平下不顯著,,而pearson相關(guān)系數(shù)也僅僅是剛過線的顯著,。

到目前為止,簡單的統(tǒng)計分析方法就告一段落了,,而進一步的統(tǒng)計分析探討我們會在下面一個系列為大家介紹,,敬請期待。

參考資料:
1.《R語言統(tǒng)計入門(第二版)》 人民郵電出版社  Peter Dalgaard著
2.《R語言初學者指南》 人民郵電出版社  Brian Dennis著
3.Vicky的小筆記本《blooming for you》 by  Vick

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多