我就在这里,不离不弃
——A·May
R-94 |T-129
本篇介绍Broom包的主要用途,涉及三个部分,主要参考Broom的小文档,使用方法是vignette(package="Broom"),然后加入相应文档的名称即可,以下内容均为【理解】+【翻译】,如有不当,请留言指出,谢谢(*^▽^*)
第一部分Broom
let's tidy up a bit!
broom包可以将lm/nls/t.test等功能的输出结果转为数据框的形式。
这个包主要提供3个函数,即tidy/augment/glance,其中tidy是将模型的输出结果转为数据框,augment是将模型输出的参数值与模型参数整合到一个表中,而glance,正如其一瞥的意思,是将模型结果中的重要指标转为一行。
参考文档中的示例,如下:
示例1:线性回归
这个是关于mpg和wt的一个线性方程
tidy功能
augment功能
glance功能
示例2:t.test
第二部分broom and dplyr
这一部分重要是broom和dplyr的合作的展示,其中涉及一个do和.号的一个用法,其中.号代表被分组之后的数据集。因此,需要注意第一部分是关于一个回归关系模型结果的整理,而现在是对多组模型的结果整理。演示过程如下:
step1:做出用tree分类的折线图。
step2:用tree分组,在5个分组的基础上,分别计算每个组内age与circumference的相关系数。
step3:做每组的相关性检验,此时就需要用broom调整输出结果。
step4:结合do.和tidy整理输出结果,也可以使用augment和glance.
第三部分 kmeans
试试三个函数对于kmean聚类的模型的结果是怎么样整理的。
先看一段有意思的写法,其中points是在cluster分组的基础上,重新塑造了X1与X2函数,塑造的方法很有意思,是用size中的100作为个数,分别用x1中5和0作为均值构造数值,就行成了三类100*3的数据结构,然后用散点图画出。
step1:用points构建聚类的数据,然后kmeans指定三类进行聚类。最后这个模型给出了9个可用的参数,也就是说summary中还有9个参数可能涉及到broom的整理当中。
step2:看看broom的效果,可以观察到augment整合了一个参数cluster,tidy整合了3个参数,而glance整合了四个参数。这是因为每个参数下的数值的个数不一样所致,但是自动的分类,所以无须担心什么。
step:加上dplyr的应用,这才是拓展,下面这段码的理解在于,facet_wrap的作用,首先看9个小图散点的形状都是不变的,只是散点的颜色随着k的增加而增加,最后增加到9类,这就很有意思了。
此外,Broom包还可以对bootstraping的结果做整理,这一部分也在小文档中,需要注意的是这个包也并非什么模型都可以处理,有问题可以到http://github.com/dgrtwo/broom/issues交流bug。
参考阅读
学习数据挖掘交流平台
领取专属 10元无门槛券
私享最新 技术干货