美文网首页
把数据读进来

把数据读进来

作者: BL_Fang | 来源:发表于2018-12-22 17:42 被阅读11次

        要做数据分析,第一步首先要有数据。R可以采用手动输入,也可以读取文件。实用点讲,主要应该是读取文件居多。因为,一方面数据量可能很大,手动输入不现实。另一方面即使是少量的数据,我们在做分析的时候也最好是将数据保存成文件,这样修改分析步骤时,就可以免去重新输入数据。所以,我在这里重点介绍从文件中读取数据

        但是在我们读取数据之前,我们还需要了解一下R内置的数据结构。因为,当数据读取进来后,不同的数据格式需要保存为不同的数据结构类型。R中内置的数据结构包括标量、向量、矩阵、数组、数据框和列表。标量、向量、矩阵及数组的维数分别为0~3维,其中保存的数据类型(数值、字符或逻辑)必须一致。这几个对于仅保存数据而言,已经足够了。但是对于R分析而言,不够好。因为数据列表中的数据类型往往不一样。所以,R中内置了数据框和列表。这两个允许其中元素的数据类型不一致,更为灵活。这里本应该给出一些实例来表明这些数据类型都是如何创建的。但是我不准备这么做。因为一方面这些都很简单,随便找到一个入门教程都会告诉你如何做。另一方面,这些工作很烦,我自己输入会浪费我的时间,如果你照着笔画的话,浪费的时间更多 。

        让我们开始在数据的海洋里学会不同的泳姿吧!且慢,我们的目标是用R进行数据分析,不同类型的文件一般都能够很轻易的转化为文本格式的文件。所以,为了不让我们分心,我们只需要掌握一种即可。那么我们就掌握最基本的”狗刨“——纯文本文件读取吧。

    非常简单的一条语句

data <- read.table( file, options)

如何记它?读,表格。文件名是file。读完存储的变量是data。是不是还挺容易?options是读取内容时的一些选项。常用的选项有是否有表头header?分割符是什么sep?需要跳过的行数skip?这应该是最为实用常用的几个参数。还有另外几个不常用就没有在这里讲。看到这里,你是否会感觉到有点头疼?这么多参数记不住咋办?不要紧,到用的时候查一下。

help("read.table")

?read.table

上边这两句都可以。看你喜欢。我用RStudio,输入后,能够在帮助页面看到完整详细的帮助。

现在我们来试一下。自己做一个文本数据表。如下图

事例数据

保存为data.txt。路径位于RStudio的当前工作目录下。(我把它放在项目的根目录下,项目已经用RStudio建好。这样以后每次打开这个项目,工作目录也会转到这个项目下。)该数据的每一个字符类型都用单引号封闭,数据与数据之间由空格分割,并且有表头。则读取方式为

d <- read.table("./data.txt", header = TRUE, sep=' ',quote = "\'")

这里采用了相对路径。也可以将./省去,一样代表相对路径。这样数据就保存在d中了。d的类型为数据框。

就这样,数据进来了。

可视化导入数据

现在感觉怎么样?简单吗?你可能说不简单,我不想写代码。没问题,我们可以用RStudio可视化操作导入数据。下面让我们来实践一下。选择菜单

File->Import Dataset

你能够看到可以导入text, Excel, Spss, Sas, Stata各式各样的数据。请根据你的文件类型选对应的菜单吧。如果你第一次选择其中的有些功能,它可能会给你安装一些额外的库。只需要确定安装即可。

可视化导入数据

我们选择一个基础的作为例子吧。From Text(Base)

基础导入文本文件

在对话框的左侧有各种能够设置的参数。右边有文件内容和将要导入后的数据预览。这里的参数包含了所有的options里边的设置。不需要写代码,也不需要记。选择好后,点击import就ok了。

简单吧!

*用From text(readr)可以读取网络数据。

相关文章

  • 把数据读进来

    要做数据分析,第一步首先要有数据。R可以采用手动输入,也可以读取文件。实用点讲,主要应该是读取文件居多。因为,一方...

  • epoll的LT和ET

    1 socket IO事件 1.1 读事件 读事件:句柄从不可读变成可读,或者句柄写缓冲区有新的数据进来且超过SO...

  • Views和URL

    四、Views和URL 1.网页程序的逻辑 request进来->从服务器获取数据->处理数据->把网页呈现出来 ...

  • 把它整合进来!

    Anyone that is disliked, anything that is difficult or ha...

  • Views和URL

    网页程序的逻辑 request进来->从服务器获取数据->处理数据->把网页呈现出来 url设置相当于客户端向服务...

  • Django + uwsgi + nginx + bootstr

    网页程序的逻辑 request进来->从服务器获取数据->处理数据->把网页呈现出来 url设置相当于客户端向服务...

  • ByteBuf.discardXXXReadBytes

    该方法不能release掉已读的内存,而是把未读的数据copy前移copy到已读的区域,从而discard读区域进...

  • 把光芒请进来

    闪闪发光 一开始,发现你光芒万丈。 恋人未满,每次你来的时候,看起来真的是,万丈光芒。 深秋,风不温柔。 走进去,...

  • 【觉知日记】0610

    01 我把心放进来了 早上上班路上,又想起这句话:我把心放进来了。 突然顿悟,为什么是把心放进来?只有把心放进来,...

  • 把心打开,把睡眠放进来。

    秋雨绵绵的天气里,最适合的就是把心打开,把睡眠放进来。我就是那个大多数时候可以支配睡眠时间的人。 每天早上固定的四...

网友评论

      本文标题:把数据读进来

      本文链接:https://www.haomeiwen.com/subject/segikqtx.html