R语言 回归分析函数说明

回归分析相关的函数

1、一元线性回归

lm() #计算beta0,beta1参数

summary() # 提取lm()参数信息

anovn() #方差分析

predict() # 根据给出自变量预测因变量的值

例:

a=lm(y~1+x,data=…) #对x,y回归分析

summary(a) # 提取回归分析结果

new=data.frame(x=0.16) # 当x=0.16时对y进行预测,必须为数据框格式

lm.new=predict(a,new,interval=”prediction”,level=0.95)#利用a得到的回归分析,对new进行预测

abline(a)#绘制回归直线

b=residuals(a) # 计算回归方程残差

plot(b) #绘制残差散点图

提取模型lm()信息的通用函数

anova(a)#计算方差分析表aov()

coefficients()# 提取模型系数

deviance()#计算残差平方和

formula()#提取模型公式

plot()#绘制模型诊断图

predict()#预测

print()# 显示

residuals()#计算残差

step()#做逐步回归

summary()#提取模型资料

2、多元回归分析

update()修正拟合模型

例:

fm5=lm(y~x1+x2+x3+x4+x5,data=…)

fm6=update(fm5, .~.+x6)

smf6=update(fm6,sqrt(.)~.)

lm(y~x1+I(x2^2))

add1()

drop1()

step()

3、逐步回归

step(object,scope,

direction=c(“both”,”backward”,”forward”)

trace=1,keep=Null,steps=1000,k=2,…)

4、回归诊断(1.误差项:独立性 等方差性 正态性

2.选择线性模型是否合适

3.是否存在异常样本

4.回归分析结果是否对某个样本依赖过重

5.自变量之间是否存在高度相关)

作图

残差

residuals()

Shapiro.test() #残差正态性检验

rstandard(model,infl=lm.influence(model,do.coef=FALSE)

sd=sqrt(deviance(model)/df.residual(model)),…) #标准化残差

rstudent()#学生化残差

回归值Y与残差的散点图

y.res=resid(lm.sol)

yfit=predict(lm.sol)

plot(y.res~y.fit)#残差图

y.rst=rstandard(lm.sol)

plot(y.rst~yfit)#标准化残差图

R语言 回归分析 方差分析

以自变量为横坐标的残差图

y.res=resid(lm.sol)

plot(y.res~x1)

plot(y.res~x2)

强影响点(异常值)

hatvalues()

hat()

dffits()

cooks.distance()

covratio()

influence.measures(model)#回归诊断的总括

多重共线

kappa() #计算矩阵的条件数

eigen() # 计算矩阵特征值

5、广义线性模型

glm(formula, # 公式

family=c(binomial,Gaussian,gamma,inverse,poisson,quasi)# 分布族

data=…)# 数据

非线性回归

lm(y~1+x+I(x^2),data=…)

poly(x,degree=1,codfs=NULL)正交多项回归 degree多项式阶数

lm(y~1+poly(x,2))

nls()#求非线性最小二乘问题

nlm()#非线性模型参数估计

6、方差检验

单因素方差分析

aov(x~A)# x要分析变量A变量因子水平

均值的多重比较

pairwise.t.test(x,g) # x相应变量 g因子向量

P值修正

P.adjust(p,method=…)

方差齐性检验

误差正态性检验

shapiro.test(X[A==1])

方差齐性检验

bartlett.test()

通过秩统计量进行方差分析(分析各水平之间是否存在差异)

K-W秩和检验

kruskal.test()

Friedman秩和检验

friedman.test()

双因素方差分析

aov(Y~A+B+A:B)#对A B两个因素进行分析 并考虑了交互作用

你可能感兴趣的:(R语言)