开发者社区> 异步社区> 正文

《机器学习与数据科学(基于R的统计学习方法)》——2.7 使用文件连接

简介:
+关注继续查看

本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.7节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 使用文件连接

另一种从数据源中读取信息的方式是通过文件连接。利用连接,你可以读入CSV文件,就像我们在前面看到的那样。不同的是,你也可以从文本文件中读取数据行。在数据不太规整的情况下,从文本文件中按行读取数据是有意义的。为此,R有一个有用的函数readLines(),可以和文件连接一同使用。在我们查看readLines()的例子之前,首先来看看文件连接是如何工作的。考虑下面的示例代码:

> con <- file("./data/SFParkingMeters.csv", "r")
> SFParkingMeters <- read.csv(con)
> close(con)
> head(SFParkingMeters)```
前面的例子首先使用file()函数来建立CSV文件与命名为con的对象的连接。然后,我们调用read.csv()函数,使用连接对象作为参数,以读取文件的内容。最后,完成后关闭连接是很好的习惯。跟前面的一样,数据框SFParkingMeters包含了文件的内容。

现在让我们回到readLines()函数,然后做一些完全不一样的事情。这一次,数据源将会是一个网页,所以我们会使用url()函数来提供网页的地址。遵循和之前一样的步骤,但设定参数n=20,表示只读取网页的前20行(如果一次只想读取1行,取n=1)。

con <- url("http://radicaldatascience.wordpress.com/", "r")
RDS <- readLines(con, n=20)
close(con)
head(RDS)`
在上文中,使用head(),展示了从我的博客上读取的HTML文本。

[1] "<!DOCTYPE html>"        "<!--[if IE 7]>"        
[3] "<html id=\"ie7\" lang=\"en\">" "<![endif]-->"         
[5] "<!--[if IE 8]>"        "<html id=\"ie8\" lang=\"en\">"```
使用readLines()的一个很重要的方面是:数据行存储在特征向量而不是数据框中。你可以使用class()函数来查看:

class(RDS)

[1] "character"`
将文件中的文本行存储在向量中意味着你必须写R代码来处理数据,以解释数据的含义。举个例子,如果数据行中包含Twitter社交媒体内容,那么你可能希望开发一个算法来执行推文中的文本倾向性分析。

R中有很多其他函数涉及连接。要查看完整的列表,使用如下命令:

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
文本点击率预估挑战赛-冠亚季军方案总结(下)
文本点击率预估挑战赛-冠亚季军方案总结(下)
4 0
心中有“树”!图文并茂介绍数据结构中常见的树(二)
计算机科学家尼古拉斯·沃斯(Niklaus Wirth)曾说过:编程=数据结构+算法 ,可见数据结构在编程中的重要性。
5 0
心中有“树”!图文并茂介绍数据结构中常见的树(三)
在前面两篇文章中,我们简要介绍了数据结构中的各种【树】在搜索、数据库等领域的使用场景,希望对大家有所帮助。
11 0
NLP比赛-小布助手对话短文本语义匹配
NLP比赛-小布助手对话短文本语义匹配
8 0
记住这两个二分模板,秒杀所有二分查找算法题!
二分查找是一种在每次比较之后将查找空间一分为二的算法。当我们要处理的问题具备单调性,或者要搜寻序列的边界时,应该考虑使用二分查找算法
9 0
心中有“树”!图文并茂介绍数据结构中常见的树(一)
提到数据结构中的树(Tree) ,大家应该都不陌生,相关书籍中都有大段篇幅的介绍,刷 Leetcode 的时候会遇到很多相关问题。很多人往往会用 “手写红黑树” 来形容面试难度很高。
10 0
文本点击率预估挑战赛-冠亚季军方案总结(上)
文本点击率预估挑战赛-冠亚季军方案总结(上)
6 0
在函数中使用局部变量并且通过局部变量返回函数值的方案来了
感谢小游戏可视化体验官群中的一位叫做“@天羽地王”的朋友提供的思路。本文内容主要包括如何在函数中使用局部变量并且通过局部变量来返回函数的结果值。
8 0
微信小游戏推广运营专业术语汇总
本文内容包括与微信小游戏运营推广相关的专业术语的汇总和解释。作为一个游戏开发者,不光要知道如何做游戏,也要知道如何让别人玩自己做的游戏。
4 0
如何在小游戏制作工具中使用云函数
本节试图以最简单的方式带你了解如何在小程序后台申请和开通云开发服务,创建并编写第一个云函数并在小游戏制作工具中对其进行调用。
10 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载