@agpwhy
2021-05-08T23:51:09.000000Z
字数 1327
阅读 221
不好意思前段时间考试加五一,一下鸽了几期。争取不考试的话尽量保持更新。
如果认真的跟着之前的短小笔记试过,会发现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
这种函数快了不止一星半点。
(这是他人的测试结果,可以看到data.table
惊人的读写速度。当然比起data.tabe
,还有一个更牛的vroom
,是用来处理gb级别的数据的了,这个我没需求用,不过据说其支持的格式没有data.table
宽泛,处理方式也相对没这么智能化。)
当然如果在苹果电脑上,多线程(multi-thread)的功能比较难弄(我没找出解决方案),但是已经足够应对大部分情况了。
大家可以试试这包里的fread()
和fwrite()
函数。
irisdata = read.csv(file = "C:/Users/Administrator/Desktop/iris.csv")
不过可能有些同学data.table这个包还没安装,就简单的用自带的read.csv函数做个说明吧。
函数这个概念大家小学(最晚初中吧)应该都学过,属于九年制义务教育范畴,这里不多展开了(我也怕我说错)。就拿R里面的概念来说,这样一条调用函数(简单理解就是选择工具)读取数据的语句分为这几部分。
对象不是和你聊微信签小手的那个对象,就是把函数运行后的结果输出储存的一个对象(比如你运行了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")
这样讲不知各位有没有一点对阿哦呃衣的了解呢。