[关闭]
@agpwhy 2021-05-08T23:51:09.000000Z 字数 1327 阅读 221

王胖的生信笔记4:认识一些R里的阿哦呃衣

​ 不好意思前段时间考试加五一,一下鸽了几期。争取不考试的话尽量保持更新。

​ 如果认真的跟着之前的短小笔记试过,会发现R里面搞点东西出来其实并没有你想象的这么复杂。不过就算是使用Ctrl+C/Ctrl+V大法,有时候还是会需要根据自己的需求进行一些些调整。那这一次的笔记就从我的角度简单来说一下我认为R里面最基本的一些概念,也就是所谓的R的阿哦呃衣。

读取数据

​ 除非是凭空手输创造数据,或者使用R里或者R包自带的数据,我们使用R处理数据大部分还是需要从外部读取的。简单来说,就是要有材料才能处理,巧妇难为无米之炊。那把数据从R以外的环境读取到R里面,这就是读取数据的过程。这样讲应该很直白了。

​ 如果放开来说,这是一个有点大的话题。从csv,matrix,tsv这样的矩阵形式的文件,到叠加了多个sheet的excel家族的文件,再到hdf5格式,或者是简单的RData/rds,都有一些读取需要注意的技巧。

​ 这里就介绍下最基础的读取表格。其实多种多样的表格,用起来还是data.table这个包最好用。这个包是一个大佬开发的,如果手头有几千上万行*列的表格,用这个包可以读取可以发现比R自带的read.csv这种函数快了不止一星半点。

1

(这是他人的测试结果,可以看到data.table惊人的读写速度。当然比起data.tabe,还有一个更牛的vroom,是用来处理gb级别的数据的了,这个我没需求用,不过据说其支持的格式没有data.table宽泛,处理方式也相对没这么智能化。)

​ 当然如果在苹果电脑上,多线程(multi-thread)的功能比较难弄(我没找出解决方案),但是已经足够应对大部分情况了。

2

​ 大家可以试试这包里的fread()fwrite()函数。

函数的基本概念

irisdata = read.csv(file = "C:/Users/Administrator/Desktop/iris.csv")

​ 不过可能有些同学data.table这个包还没安装,就简单的用自带的read.csv函数做个说明吧。

​ 函数这个概念大家小学(最晚初中吧)应该都学过,属于九年制义务教育范畴,这里不多展开了(我也怕我说错)。就拿R里面的概念来说,这样一条调用函数(简单理解就是选择工具)读取数据的语句分为这几部分。

3

​ 对象不是和你聊微信签小手的那个对象,就是把函数运行后的结果输出储存的一个对象(比如你运行了125+125,为了让R记住,需要有个地方把这个250给记住,就要有个对象)

​ 函数就是对你设定的一些列参数进行运行的一个规则(比如你的参数是125,125,这个时候单纯相加这个规则就是函数)

​ 参数刚刚解释过了,就是你要告诉函数要对哪些东西进行运行

​ 参数可以有多个,比如你要使用read.csv读取含有中文的csv,需要加上这样一个参数fileEncoding = “UTF-8"有可能还需要安装配套的R包

irisdata= read.csv(file = “C:/Users/Administrator/Desktop/iris.csv”, fileEncoding = “UTF-8")

​ 这样讲不知各位有没有一点对阿哦呃衣的了解呢。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注