开发者学堂课程【R 语言编程基础:R 包的使用、结果的重用、如何处理大数据集】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/564/detail/7714
R 包的使用、结果的重用、如何处理大数据集
内容介绍
一、R 包的使用方法
二、结果的重用
三、R 如何处理大数据集
一、R 包的使用方法
R 的包 ( Package )
1、目前有超过7000个称为包( package)的用户贡献模块可供使用,可以从http://cran.r-project.org/web/packages下载。目前 R cran 可以获取的包已经达到7689个,也可以有选择的下载它。
2、R 自带了一系列默认包(包括 base、datasets、 graphics、 methods 等等) ,它们提供了种类繁多的默认函数和数据集。可以用这些函数对数据集进行操作,以及学习和使用R的功能。
3、包的安装和使用。当把 R 安装之后,如果想看当前环境提供哪些命令可以通过 library 命令进行查看,可以看到当前使用的包,因为电脑里面安装了两个包,所以它会显示在这个版本的里面有哪些包,在另一个版本的里面有哪些包
(1)在实际的应用过程中,如果想安装一些新的包,如何进行安装呢?
比如想看一个包,可以用 help 加上包名的方式查看包的一些基本的信息,也就是在 library 下看到的 base,输入命令 help (package= "base "),R 就会从当前机器上面的 library base下找到 base 包的主页,可以看到函数的描述等等。
(2)要想安装新的包,包名叫 car,得到以下结果,说明当前环境没有安装 car 这个包。
安装包的命令如下,注意要加双引号,如果电脑是联网的,install 加包名,R 会自动上网上的相关的迹象里面找包进行下载安装,
install. packages ( "car"
)
它会给提示选哪一个 cran 迹象,选择 china(bejing 4)[https]进行安装。
安装包时需要需要一些时间,具体的时间是根据当前的网速和机器执行的速度,输入 help (package= "car")查看包的相关信息,这时就可以查到 car 的一些信息,car 里面提供了很多函数,可以进到 car 包里面看它的一些基本信息,包括 car 是什么版本,什么时间发布的。
(3)现在已经把 car 包加入到目前的环境中,现在该如何使用包里面的函数?比如在 car 中有一个 some 函数,可以查看一下现在是否可以直接用它,它出现报错,object "some " not found,也就是 some 它没有找到,使用 library(car)把已经安装好的 car 包给导入到当前环境中,再输入 some,就会有这个函数,有它一些基本的描述,
function(x,
....
)
UseMethod ("some ")
<bytecode: 0x1131cfb8> ,
< environment: namespace : car>
如果 car 包有更新,可以使用手动的方式,输入 update.package(),使用这个命令将所有包进行更新。
二、结果的重用
1、将一个函数的输出作为其他函数的输入,R 非常实用的特点是分析的输出结果可以非常轻松的进行保存,并且可以作为进一步分析的输入进行使用。
2、通过 R 中已经安装好的数据集为例,这个数据集是汽车数据的数据集,叫 mtcaes,使用 head命令,head 命令是输出这个数据集,前面6条的数据集,前面是汽车的型号。
Mazda
RX4
Mazda
RX4 Wag
Datsun 71 0
Hornet 4 Drive
Hornet Sportabout
Valiant
有很多字段和属性,在这些属性里只关注两个属性,一个是 wt就是位置,汽车车身的重量,mpg 是每加仑行驶的英里数,一加仑的汽油可以使汽车行驶多长的距离,因为汽车使用一定量的汽油能行驶多远跟它的发动机有一定的关系,但是其中很重要的原因是车身的重量,如果车身重量,如果车越重,使一定量的汽油行驶的距离越少,所以做一个线性回归,车身重量和每加仑行驶的英里数之间的关系。
3、输入 lm 命令,每加仑行驶的英里数,对应做一个车重的线性关系,得到结果,它们直接有一个相关性,相关度是一个负的值,车身的重量和每加仑行驶的英里数,它们之间是负相关的。
l
m (mpg~wt ,data-mtcars )
Call:
l
m(formula = mpg ~ wt, data = mtcars )
Coefficients :
(Intercept) wt
37.285 -5.344
4、现在R里面想做的功能,是经常把它的输出进行保存,或者对结果进行重用,如何对刚才所做的线性结果做一个重用?刚才的命令操作,它只会显示在屏幕上面,不会保存,通常使用一个变量进行保存,比如输入 result lm (mpg~wt,data-mtcars )进行保存,这样就把结果保存在 result 里面,可以通过一个语句进行总结查看 summary (result ),当把线性回归操作的结果保存到 result 后,再对结果进行重用时,就可以得到更多的信息,比如踩踏值,p值,关于统计相关的数值,对于这个结果也可以用作图进行画出。输入 plot(result)可以得到画图。
这些图就是统计方面比较专业的一些图。
只需要知道这个结果就可以做进一步的汇总分析使用。
5、result 里面存储的是线性回归后得到的一些模型,如果输入一组汽车的重量值,可以使用 predict 函数,比如自己生成新的数据集 predict (result ,mynewdata),mynewdata 包括汽车的重量,就可以根据刚才得到的线性回归预测出汽车重量,它们有可能可以行驶的英里数,这就是线性回归的功能。数据集如何去创建呢?可以使用集成的重量值,自己输入几个重量值,得出每英里汽油的使用量,比较实际的结果有多大的差距,或者预测的效果是如何的。
三、R 如何处理大数据集
1、R 所有的预测都是基于内存的,所以每做一个操作都需要把数据导入到内存中,再进行处理,对于一些很大的数据集,已经达到了 gb 级别或者 tb 级别,一般的电脑或者服务器,它都不具备这么大的内存,这样就给 R 带来很多不方便,但是R还是可以处理大数据集的。
2、专门的用于大数据的分析包,如 Im()是做线性拟合的函数,而 biglm()则能以内存高效的方式实现大型数据的线性模型拟合。因为 R 是基于内存的,如果 R 数据装不下,可以把一部分数据放在 e 盘中,通过其他的一些操作对硬盘上的数据进行高效的处理,这就是 R 处理大数据的一种方式,提供专门用于大数据的分析包,其他的分析包也可以上网上找一找。
3、R 与大数据处理平台的结合,如 RHadoop,业界用的比较多的开源的大数据处理和管理平台,相应的像 R 的一些开发者提供了 RHadoop 包,当把 RHadoop 包安装完后就可以使用 R 直接去调用 RHadoop 上面的数据进行处理,也就是海量的数据进行预处理后,可以在 RHadoop 的平台上进行处理,处理完后得到比较小的数据集后,又可以把数据集放到R 的数据集中,用功能函数对它进行挖掘和分析、 RHive 是基于 RHadoop 之上的查询语句,可以将查询语句转化成可以在 RHadoop 平台上运行的 mapreduce 语句,这就是 RHive 实现的功能、 也会提供 RHipe 接口,向RHive进行结合,实现这种大规模数据集 result 的查询语句等。
4、这些功能就是 R 可以进行处理大数据集的方法。