R与数据分析旧笔记(五)数学分析基本

R语言的各种分布函数

rnorm(n,mean=0,sd=1)#高斯(正态)
rexp(n,rate=1)#指数
rgamma(n,shape,scale=1)#γ分布
rpois(n,lambda)#Poisson分布
rweibull(n,location=0,scale=1)#Weibull分布
rcauchy(n,location=0,scale=1)#Cauchy分布
rbeta(n,shape1,shape2)#β分布
rt(n,df)#t分布
rf(n,df1,df2)#F分布
rchisq(n,df)#卡方分布
rbinom(n,size,prob)#二项
rgeom(n,prob)#几何
rhyper(nn,m,n,k)#超几何
rlogis(n,location=0,scale=1)#logistic分布
rlnorm(n,meanlog=0,sdlog=1)#对数正态
rnbinom(n,size,prob)#负二项分布
runif(n,min=0,max=1)#均匀分布
rwilcox(nn,m,n).rsignrank(nn,n)#Wilcoxon分布
中位数median()
百分位数quantile()
五数总括fivenum()
协方差cov()
相关系数cor()

相关分析例子

  • Iris数据集目测相关性

> plot(iris[c(1,2)])

R与数据分析旧笔记(五)数学分析基本

分离种属

> i1=iris[which(iris$Species=="setosa"),c(1:2)]
> plot(i1)

R与数据分析旧笔记(五)数学分析基本

求相关系数
相关系数是否显著,不能只根据值的大小还要进行假设检验

> cor(i1[1],i1[2])
             Sepal.Width
Sepal.Length   0.7425467

0.74,相关性算是比较大

相关系数显著性的假设检验

假设r0为总体相关系数,r0=0则说明没有相关关系,建立假设H0:r0=0,
H1:r0<>0(alpha=0.05)
计算相关系数的t值和P值

> head(i1)  Sepal.Length Sepal.Width1          5.1         3.52          4.9         3.03          4.7         3.24          4.6         3.15          5.0         3.66          5.4         3.9> cor.test(i1$Sepal.Length,i1$Sepal.Width)

	Pearson's product-moment correlation

data:  i1$Sepal.Length and i1$Sepal.Width
t = 7.6807, df = 48, p-value = 6.71e-10
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.5851391 0.8460314
sample estimates:
      cor
0.7425467

p值足够小,足以拒绝原假设,即分离种属后setosa种类的鸢尾花花萼的长与宽有一定的相关性。

  • 一元线性回归分析

原理:最小二乘法

步骤:建立回归模型,求解回归模型中的参数,对回归模型进行检验

例子

数据:身高-体重

> h=c(171,175,159,155,152,158,154,164,168,166,159,164)
> w=c(57,64,41,38,35,44,41,51,57,49,47,46)
> plot(w~h+1)

R与数据分析旧笔记(五)数学分析基本

  • 自定义函数

> lxy<-function(x,y){n=length(x);
+ sum(x*y)-sum(x)*sum(y)/n}
>#假设w=a+bh,则有
> b=lxy(h,w)/lxy(h,h)
> a=mean(w)-b*mean(h)
> a
[1] -140.3644
> b
[1] 1.15906
>

作回归直线

> lines(h,a+b*h)

R与数据分析旧笔记(五)数学分析基本

回归系数的假设检验

  • 建立线性模型

> a=lm(w~1+h)
> a

Call:
lm(formula = w ~ 1 + h)

Coefficients:
(Intercept)            h
   -140.364        1.159  

> summary(a)#t检验

Call:
lm(formula = w ~ 1 + h)

Residuals:
   Min     1Q Median     3Q    Max
-3.721 -1.699  0.210  1.807  3.074 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept) -140.3644    17.5026   -8.02 1.15e-05 ***
h              1.1591     0.1079   10.74 8.21e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.546 on 10 degrees of freedom
Multiple R-squared:  0.9203,	Adjusted R-squared:  0.9123
F-statistic: 115.4 on 1 and 10 DF,  p-value: 8.21e-07

线性模型中的***表示出拟合效果还不错,可以接受该拟合。

可见,自定义函数算出来的斜率跟截距和线性模型算出来的是一样的。

上一篇:看了一个烟花的html作品 --引用:http://www.w3cfuns.com/blog-5444049-5404365.html


下一篇:MySQL的Decimal函数的第一个参数是做什么的?