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)])
分离种属
> i1=iris[which(iris$Species=="setosa"),c(1:2)] > plot(i1)
求相关系数
相关系数是否显著,不能只根据值的大小还要进行假设检验
> 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)
自定义函数
> 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)
回归系数的假设检验
建立线性模型
> 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
线性模型中的***表示出拟合效果还不错,可以接受该拟合。
可见,自定义函数算出来的斜率跟截距和线性模型算出来的是一样的。