• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

《数据科学:R语言实现》——2.4 扫描文本文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本节书摘来自华章计算机《数据科学:R语言实现》一书中的第2章,第2.4节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4 扫描文本文件

在之前的教程中,我们介绍了如何使用read.table和read.csv加载数据到R进程中。然而,read.table和read.csv只适用于列数固定,数据不多的情形。为了在数据处理过程中更加灵活,我们会介绍如何使用函数scan从文件中读取数据。

准备工作

在本教程中,你需要完成之前的教程,并下载snp500.csv到当前目录。

实现步骤

执行下列步骤,扫描CSV文件中的数据。

1.首先,你可以使用函数scan读取snp500.csv中的数据:

2.然后使用mode和str查看加载的数据:

运行原理

与read.table和read.csv相比,函数scan更加灵活,数据读取也更加高效。这里,我们在what参数中,以列表的形式指定字段名和每个字段的支持类型。在这个例子中,第1个字段是字符类型,其他字段都是数值类型。因此,我们可以给Date列设定两个单(或双)引号,给其他列设定为0。然后,因为我们需要忽略列名行,并自动给字段数少于列数的任何一行添加空字段,我们可以设定skip为1,fill为True。

现在,我们可以使用内置的函数查看数据。这里,我们使用mode获取对象的类型,使用str展示数据的结构。

更多技能

某些情况下,数据是通过固定宽度分隔,而不是通过固定分隔符分隔的。为了指定每一列的宽度,你可以使用函数read.fwf。

1.首先,你可以使用download.file从作者的GitHub网页上下载weather.op:

2.然后,使用文件编辑器查看数据,如图5所示。

3.通过在widths中指定每列的宽度,在col.names中指定列名,设定skip为1跳过第一行,读取数据:

4.最后,你可以使用函数head和names查看数据:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言绘图:时间序列分析ggplot2绘制ACFPACF发布时间:2022-07-18
下一篇:
R语言:各类型数据文件的导入发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap