欢迎光临散文网 会员登陆 & 注册

R语言相关分析和稳健线性回归分析

2021-03-01 23:21 作者:拓端tecdat  | 我要投稿

原文链接:http://tecdat.cn/?p=9484

目录

怎么做测试

功率分析

介绍

下面以物种多样性为例子展示了如何在R语言中进行相关分析和线性回归分析。

 

怎么做测试

相关和线性回归示例

 


  1. Data = read.table(textConnection(Input),header=TRUE)

 

数据简单图

                                                                      

  1. plot(Species ~ Latitude,

  2. data=Data,

  3. pch=16,

  4. xlab = "Latitude",

  5. ylab = "Species")

 

 

 

相关性

可以使用 cor.test函数。它可以执行Pearson,Kendall和Spearman相关。

 

皮尔逊相关

皮尔逊相关是最常见的相关形式。假设数据是线性相关的,并且残差呈正态分布。

 

  1. cor.test( ~ Species + Latitude, 

  2.          data=Data,

  3.          method = "pearson",

  4.          conf.level = 0.95)




  5. Pearson's product-moment correlation




  6. t = -2.0225, df = 15, p-value = 0.06134




  7.        cor


  8. -0.4628844

 

 

肯德尔相关

肯德尔秩相关是一种非参数检验,它不假设数据的分布或数据是线性相关的。它对数据进行排名以确定相关程度。

 

 

  1. cor.test( ~ Species + Latitude,

  2. data=Data,

  3. method = "kendall",

  4. continuity = FALSE,

  5. conf.level = 0.95)




  6. Kendall's rank correlation tau




  7. z = -1.3234, p-value = 0.1857




  8. tau


  9. -0.2388326

 

 

 

斯皮尔曼相关

Spearman等级相关性是一种非参数检验,它不假设数据的分布或数据是线性相关的。它对数据进行排序以确定相关程度,并且适合于顺序测量。

 

 

 

 

 

线性回归

线性回归可以使用 lm函数执行。可以使用lmrob函数执行稳健回归。

 



  1. summary(model)                    # shows parameter estimates,

  2. # p-value for model, r-square




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


  4. (Intercept)  585.145    230.024   2.544   0.0225 *


  5. Latitude     -12.039      5.953  -2.022   0.0613 .




  6. Multiple R-squared:  0.2143,  Adjusted R-squared:  0.1619


  7. F-statistic:  4.09 on 1 and 15 DF,  p-value: 0.06134








  8. Response: Species


  9. Sum Sq Df F value  Pr(>F)


  10. Latitude  1096.6  1  4.0903 0.06134 .


  11. Residuals 4021.4 15

 

 

 

绘制线性回归

 


  1. plot(Species ~ Latitude,

  2. data = Data,

  3. pch=16,

  4. xlab = "Latitude",

  5. ylab = "Species")


  6. abline(int, slope,

  7. lty=1, lwd=2, col="blue")     #  style and color of line

 

 

 

检查模型的假设

 

 

 

线性模型中残差的直方图。这些残差的分布应近似正态。

 

 

 

 

 

残差与预测值的关系图。残差应无偏且均等。 

 

 

 

稳健回归

该线性回归对响应变量中的异常值不敏感。

 

 



  1. summary(model)                    # shows parameter estimates, r-square




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


  3. (Intercept)  568.830    230.203   2.471   0.0259 *


  4. Latitude     -11.619      5.912  -1.966   0.0681 .




  5. Multiple R-squared:  0.1846,  Adjusted R-squared:  0.1302






  6. anova(model, model.null)         # shows p-value for model




  7. pseudoDf Test.Stat Df Pr(>chisq)


  8. 1       15


  9. 2       16    3.8634  1    0.04935 *

 

 

 

绘制模型

 

 

 

 

线性回归示例

 

 



  1. summary(model)                    # shows parameter estimates,

  2. # p-value for model, r-square




  3. Coefficients:


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


  5. (Intercept)  12.6890     4.2009   3.021   0.0056 **


  6. Weight        1.6017     0.6176   2.593   0.0154 *




  7. Multiple R-squared:  0.2055,  Adjusted R-squared:  0.175


  8. F-statistic: 6.726 on 1 and 26 DF,  p-value: 0.0154




  9. ###  Neither the r-squared nor the p-value agrees with what is reported


  10. ###    in the Handbook.






  11. library(car)


  12. Anova(model, type="II")           # shows p-value for effects in model




  13. Sum Sq Df F value Pr(>F)


  14. Weight     93.89  1  6.7258 0.0154 *


  15. Residuals 362.96 26




  16. #     #     #

 

 

功率分析

功率分析的相关性

 

  1. ### --------------------------------------------------------------

  2. ### Power analysis, correlation

  3. ### --------------------------------------------------------------


  4. pwr.r.test()




  5. approximate correlation power calculation (arctangh transformation)




  6. n = 28.87376

 


R语言相关分析和稳健线性回归分析的评论 (共 条)

分享到微博请遵守国家法律