快到碗里来(2)!
hello,大家好,我是Leopard!
在上一期内容中,我给大家介绍了如何在控制台输入数据,然后重点放在了read.table()和read.csv()这两个函数上,再强调一遍,这两个函数就是哼哈二将,就是尉迟恭与秦叔宝,想进R语言的大门,这俩必须掌握!那么,在本期,我们接着介绍R语言读取数据的方法。
很多童鞋刚接触R语言,表示我不太喜欢编程(其实,根本算不上编程,只能算是码点代码而已),这种情况下,如何将数据导入R语言呢?Rstudio给了你方便的选择。
如下图所示:
在Rstudio的工具栏中,找到File,在它的子菜单栏里,有一个Import Dataset,点击后会发现右侧会弹出几个选项,既有csv,excel,也有sas,spss和stata。当你需要导入一个csv时,继续点击即可。
如下图所示:
在右上角有一个文件选择按钮,选择好文件,点击确定。在中间的空白区域,是数据预览框,即你可以从这里看到你的数据长什么样子。左下角是选项设置区,从这里可以给数据命名,选择分隔符,选择是否跳过前面的n行等等。右下角是代码展示区。你的所有点击操作,在这里都会以代码的形式展示出来,所以,这对于初学者来说,是一个非常好的学习途径!
上面介绍的是一个比较偷懒的方法,并不推荐大家使用这种方法去读取数据,毕竟,我们还是要给R语言一点面子嘛,整的跟SPSS一样,就没啥意思了。
下面我介绍一下另外一种数据的读取方式,即从你的剪贴板读取数据。
复制粘贴大家都会,大家也应该都知道电脑中有剪贴板这样一个东西,当你复制或者剪切了某个东西后,它会被暂时储存在你的剪贴板中,直到它被粘贴到另外一个地方。基于这个原理,R语言也可以从你的剪贴板中读取你想要的数据,即你首先要复制你要的数据到剪贴板中,然后再来R语言中操作才行。
此时,我已经复制了一个excel文件中的部分数据到剪贴板中,这一步我们是看不到的。
接下来我就要把它弄进R里面来
从剪贴板中读取数据,看似简单,其实容易出错,所以并不推荐大家使用这种方法。
在大多数的情况下,我们的数据都是保存在excel表格中的,当你不想把它转成制表分隔符或者逗号分隔符文件时,我们该如何直接读取excel文件呢?方法有多种,但是我给大家推荐最安全,最快速的一种。
首先,你要下载readxl这个包(这也是Hadley的作品)
然后再加载它
下面我们用这个包来读取一个excel文件(即文件名后缀为xlsx或者xls)。
这个函数与之前的read.table()有很多相似之处,第一个参数同样是文件的完整路径,包括文件的后缀名不能省略!sheet参数表示你要读取的excel文件中的页面,默认是1,如果你有多个页面,可以修改此参数。同样的,该函数中也有用于定于缺失值字符的参数,即na,该参数接受一个字符串向量,使用方法与read.table()中的na.strings参数如出一辙,不做赘述。
介绍readxl包,我觉得还有一个包很有意思,也需要介绍一下,它就是XLConnect。这个包比较庞大,能够有效的将R语言与excel连接在一起,使数据的读取更加灵活。此处我介绍一个最常用的函数。
首先,你需要下载和加载这个包。
忽略提示信息!
下面我们用这个包来读取一个excel文件中的某一部分。
此处我只是读取了iris这个excel文件中的一个小小部分,即从第5行到第10行,第2列到第5列的数据。参数不需要太多解释,相信大家看一下就能明白,startRow就是表示起始行数,其他的参数与之类推即可。
好了,本期的内容就是这些,在下期中,我们将介绍如何读取SPSS, SAS数据。see you~
医学方也已推出了“R语言快速入门”以及“R语言可视化”的视频教程。可扫描以下二维码进入:
https://medfun.ke.qq.com
http://study.163.com/u/ykt1467466791112