R-统计分析的一些R包和函数

Python019

R-统计分析的一些R包和函数,第1张

横截面数据回归经典方法

quantreg 分位数回归

MASS  BOX-COX变换

survival 生存函数、COX比例危险回归模型

mfp  COX比例危险回归模型多重分数多项式

car 可以检查vif

ridge 岭回归

lars  lasso回归

msgps adaptive lasso

pls 偏最小二乘

横截面数据 回归机器学习 方法

rpart.plot 画回归树

mboost  boosting回归

ipred  bagging回归

randomForest 随机森林回归

e1071  or kernlab  SVR支持向量机回归

nnet+caret  or neuralnet 神经网络

横截面数据 分类 经典方法

glm( ) 广义线性模型

MASS 的 lda( ) or   mda 的 mda( ) or   fda 的 fda( ) 线性判别

横截面数据 分类机器学习 方法

rpart.plot 画分类树

adabag  adaboost分类、bagging分类

randomForest 随机森林分类

e1071  or kernlab  SVR支持向量机分类

kknn 最近邻分类

nnet 神经网络分类

横截面数据 计数或有序因变量

Possion 散布问题(方差不等于均值):

dglm 双广义线性模型(Tweedie分布)

MASS 的 glm.nb( ) (负二项分布)

pscl 的 zeroinfl( ) 零膨胀计数数据模型

rminer 支持向量机

mlogit 多项logit模型

MASS 的 loglm( )  or nnet 的 multinom( ) 多项分布对数线性模型

MASS 的 polr( )  or VGAM 的 vglm( ) 多项分布对数线性模型

纵向数据:多水平模型、面板数据

lme4 的 lmer( )  or nlme 的 lme( ) 线性随机效应混合模型

REEMtree 拟合固定效应部分的决策树

coxme  cox随机效应分析

JM 联合模型

plm 拟合面板数据

多元分析

factanal( ) 因子分析

cluster 分层聚类

ICGE  INCA指数

ggmap 画地图

NbClust 一系列聚类方法

CCA 典型相关分析

MASS 对应分析

以下为非经典多元数据分析

FactoMineR 主成分分析、对应分析(补充元素作为测试集);多重对应分析(可以包含数量变量和分类变量)、多重因子分析、分层多重因子分析、基于主成分分析的分层聚类

多元数据的关联规则分析

arules 关联规则分析

路径建模数据的PLS分析

plspm 的函数 plspm( ) 偏最小二乘

lavvan 加协方差关系

本文案例数据是NHLBI(美国国家心肺血液研究所)著名的Framingham心脏研究数据集的一个子集。大概长这个样子:

Note: 查看complex模型曲线上的各数据点。NB也可以改成sNB,表示经过患病率的标准化。

使用simple模型预测1000人的风险分层,显示“损失:受益”坐标轴,赋以8个刻度,显示置信区间

使用complex模型预测1000人的风险分层,显示“损失:受益”坐标轴,赋以8个刻度,显示置信区间

它相当于在回归预测分析的基础上,引入了损失函数。先简单定义几个概念:

P:给真阳性患者施加干预的受益值(比如用某生化指标预测某患者有癌症,实际也有,予以活检,达到了确诊的目的);

L:给假阳性患者施加干预的损失值(比如预测有癌症,给做了活检,原来只是个增生,白白受了一刀);

Pi:患者i有癌症的概率,当Pi >Pt时为阳性,给予干预。

所以较为合理的干预的时机是,当且仅当 Pi × P >(1 – Pi) × L ,即预期的受益高于预期的损失。推导一下可得, Pi >L / ( P + L ) 即为合理的干预时机,于是把 L / ( P + L ) 定义为Pi的阈值,即Pt。

参考资料

https://www.rdocumentation.org/packages/customLayout/versions/0.2.0

https://mp.weixin.qq.com/s/zbp8pOQcNB4XBBF5SCg5GA

customLayout用于拼图特别方便,尤其是仪表盘布局

支持R内置的base绘图对象,ggplot2对象(与grid结合 )

Hide

”library(ggplot2)library(customLayout)

通过设置简单的数字矩阵以及对应的宽高比,可以非常方便的设置出来数字拼图

关键函数:

mat数字矩阵必须从1开始,且必须连续

其它拼图包没有的功能,非常好用

跟合并矩阵类似。分为行合并和列合并

这个功能也是其它包没有的,非常有用

关键函数:

参数lay表示大画布,参数newlay表示要嵌套进去的小画布,field表示指定要嵌套的区域编号

关键函数:

cowplot是一个ggplot2包的简单补充,意味着其可以为ggplot2提供出版物级的主题等。

更重要的是,这个包可以组合多个”ggplot2”绘制的图为一个图,并且为每个图加上例如A,B,C等标签,

这在具体的出版物上通常是要求的。 语法结构与ggplot类似,将ggplot2图作为一个对象置于 ggdraw() 中

表达式:

draw_plot(plot, x = 0, y = 0, width = 1, height = 1, scale = 1)

draw_text(text, x = 0.5, y = 0.5, size = 14, hjust = 0.5, vjust = 0.5,...)

draw_plot_label(label, x = 0, y = 1, hjust = -0.5, vjust = 1.5, size = 16, fontface = "bold", family = NULL, colour = NULL, ...)

参数解释:

grid中文翻译为网格,可将其解释为画布分割,通过设定相应的参数,从而可以任意的摆放图形

常用函数:

语法:

参数解释:

layout参数

综合例子

子母图,主要是形成局部放大的效果,既可以从整体上对比,又兼顾特别小的数据组,或特别密的数据点可以查看,而没有必要单独做2张图

<pre style="box-sizing: border-boxfont-family: Monaco, Menlo, Consolas, "Courier New", monospacefont-size: 13pxwhite-space: pre-wrapdisplay: blockpadding: 9.5pxmargin: 0px 0px 10pxline-height: 1.42857color: rgb(51, 51, 51)word-break: break-alloverflow-wrap: break-word !importantbackground-color: whiteborder: 1px solid rgb(204, 204, 204)border-radius: 4pxmax-width: 100%font-variant-numeric: normalfont-variant-east-asian: normalletter-spacing: 0.544pxtext-align: justifywidows: 1overflow: auto">## png

蝴蝶图

主要函数:

语法:

参数解释:

把绘图对象添加到列表总,并把该列表传递给 grid.arrange() 函数中的grobs参数

子母图

grid包可以画字母图

安装gridExtra包后,ggplot2中多了一个 ggplotGrob( )函数,可以创建grob对象参数