抓取网页数据的几种套路
没有数据就没有乐趣。有的数据提供者心肠很好,会直接给出txt或是csv文档。这个时候我们可以直接在R里头用read.table()函数把数据读进来。有的时候我们需要的数据在网页上以一个表格呈现,例如前面文章遇到过的地震数据。此时可以用XML包中的readHTMLTable()函数读取数据,后续再配合一些字符串处理一般就OK了。如果你对R不大熟悉,抓取这些表格也有更方便的法子,就是利用Chrome的扩...
View Article使用GitHub进行版本控制的傻瓜方法
不论是团队合作还是单打独斗,代码和文档的版本控制是数据极客不可缺少的工具。高阶极客能随心所欲的用 linux终端+Git+编辑器完成这类任务。但是对于像本人一样的Git入门者来讲,图形工具还是略微让人心安一点。我们下面就来示例,用RStudio结合GitHub for Windows来完成这项任务。首先你需要在GitHub中建立一个帐号,然后安装上述两种软件。试着登录GitHub for...
View Article用Parallel和foreach包玩转并行计算
众所周知,在大数据时代R语言有两个弱项,其中一个就是只能使用单线程计算。但是在2.14版本之后,R就内置了parallel包,强化了R的并行计算能力。parallel包实际上整合了之前已经比较成熟的snow包和multicore包。前者已经在之前的文章中介绍过了,而后者无法在windows下运行,所以也就先不管了。parallel包可以很容易的在计算集群上实施并行计算,在多个CPU核心的单机上,也能...
View ArticleEconomist风格的统计绘图
《Economist》(经济学人)是一份由伦敦经济学人报纸有限公司出版的杂志,于1843年9月由詹姆士·威尔逊创办。杂文章写得机智,幽默,有力度,严肃又不失诙谐,并且注重于如何在最小的篇幅内告诉读者最多的信息。杂志主要关注政治和商业方面的新闻,但是每期也有一两篇针对科技和艺术的报导,以及一些书评。从2012年1月28日的那一期杂志开始,《经济学人》杂志开辟了中国专栏,为有关中国的文章提供更多的版面。...
View Article在R语言中使用SQL
数据分析经常需要从外部获得数据。很多情况下数据存放在关系型数据库中。一般我们可以用SQL来提取需要的数据,存为文本再由R来读入。这种方式结合了数据库的储存能力和R的分析能力,速度也非常快。但是如果要形成一套可重复性的自动工作流程,则可以将R与外部数据库连接,直接在R中操作数据库,并生成最终结果,这也是一种可行的方法。在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC...
View Article果壳中的R第二版新鲜出炉
《R in Nutshell》是O'REILLY公司出版的果壳系列图书之一。该系列图书的特点是知识覆盖面广,讲解全面细致,索引、参考资料以及进一步阅读都包括在内,是非常难得的桌头参考书籍。 《R in...
View Article参加上海第五届R会议的PPT和代码
上海的这次R会议来了很多知名公司和嘉宾,参与听众反应也非常热烈。感觉比北京的要好一些哦。而我只不过讲了一些业余玩的东东,附上本次演讲的PPT和代码。
View Article用Shiny包快速搭建基于R的交互网页应用
RStudio是我最喜欢用的R语言IDE,其开发团队最近又推出了一个新的产品,即Shiny包。它的作用是快速搭建基于R的交互网页应用。使得那些对代码不熟悉的人士在工作中也可以应用统计模型。对于R和web的交互,之前已经有一些相关的包,例如:rApache, Rhttpd, Rack,...
View Article三门问题的模拟
有一个著名的蒙提霍尔问题,亦称为三门问题(英文:Monty Hall problem),大致出自美国的电视游戏节目Let's Make a Deal。问题的名字来自该节目的主持人蒙提·霍尔(Monty...
View Article新书推荐:数据之魅
在amazon书店里头,如果将统计类和数据挖掘类书籍除外的话,还真没有一本正经八百讲数据分析的书。不过《Data Analysis with Open Source...
View Article如何批量处理文本文件
最近数据堂为了弄数据挖掘比赛提供了一批用户行为日志数据。对于以前没玩过的数据,我是特别的好奇。处理这批文本文件确实花了不少时间。数据以不同的日期作文件夹分别存放,每个文件夹中又有近一千个文本文件,每个文件都是一个用户的行为日志。为了分析这些数据,首先需要将这两万个文本文件读入R中,再用字符串函数进行处理成结构化的数据。处理方法如下:library(stringr)setwd('D:\\kaggle\...
View Article决策树之三国争霸
决策树是一种简洁实用的数据挖掘方法。在R中通常可以用rpart包和party包来实现两种算法的决策树。最近著名的C4.5决策树算法的升级版本C5.0已经可以在官网下载到。对于这三种决策树算法,本文来做一个预测效果的简单对比。对比用的数据集是C50包中自带的churn数据,它是用来预测顾客流失的数据集,其中样本量为3333个,变量数为20个。为不平衡数据,没有缺失值存在。对比基本步骤是用10重交叉检验...
View Article推荐两本python书
python虽然不是专门的数据分析工具,但是它的库超多。随着数据分析相关各种库的日益完善,也可以用它来处理一些数据方面的工作,特别在数据预处理方面。这门书号称是数据分析,实际上大部分就是讲的数据处理。介绍了用numpy,...
View Article来玩玩QQ群的数据
上周COS论坛上有位老兄发布了一个关于QQ群的数据,正好拿来玩玩。这批数据并不复杂,只有两列,一列是用户名,一列是用户发言时间,不过从这批数据中仍然可以得出一些好玩的东西,且让本人一一道来。先对数据进行整理,然后以时间维度进行数据汇集,观察各周的发言分布情况。可以看到周一和周日聊天不多,难道说是周一大家都比较安心上班?下图是对不同的时间段进行数据汇集,观察是白天上班的时间聊天比较多,下午4、5点下班...
View Article新书推荐:脏数据手册
当你学完一本数据分析软件教程,在电脑上做完了所有的练习题,志得意满地准备去处理实际问题时候,你会被真实世界的“脏数据”所震惊。例如那些随处可见的缺失和格式不一的数据会让分析工作举步维艰,但脏数据的陷阱远不止这些。初入数据江湖的白板青年很需要一本江湖经验手册来帮助成长,而《Bad Data...
View Article2012年的学习、工作和生活
在《英雄志》里面,沉毅木讷的伍定远一直到35岁才跳出公门、踏入江湖,由此获得一系列的奇遇、成长和体验,这番际遇让人感慨。既然2012的玛雅末日没有来,就将过去一年发生的事情在第200篇博文中简单梳理一下。学习:最初的博客只是一个粗糙的读书笔记,但仍得到了许多同好的鼓励。赞扬的力量是强大的,于是越发的用心,花了很多时间去读去写去钻研。学习的体会可以总结为四句笨办法:精选资料,反复阅读,归纳笔记,动手操...
View Article浅谈ROC曲线
机器学习中很常见的一个大类就是二元分类器。很多二元分类器会产生一个概率预测值,而非仅仅是0-1预测值。我们可以使用某个临界点(例如0.5),以划分哪些预测为1,哪些预测为0。得到二元预测值后,可以构建一个混淆矩阵来评价二元分类器的预测效果。所有的训练数据都会落入这个矩阵中,而对角线上的数字代表了预测正确的数目,即True Positive+True...
View Article用XLConnect包操控Excel表格
作为一个R迷,为什么要去捣鼓XLS文件?其实这种需求场景很多的啦,比如其它部门的同事有批量的Excel文件要处理,或者家里一把手的直接命令。Excel里面已经有不少函数可以处理数据了,包括简单的矩阵运算以及透视表什么的,但归根到底它还是需要鼠标点来点去,伤手腕啊。为了保护右手我们要提倡用代码控制一切需要鼠标的动作。高级的Excel玩家可能会用VBA去做自动处理,更高明的玩家则跳出三界外,从外部来控制...
View Article那些奇葩的R函数
看别人的代码会遇到一些奇葩的函数,一般的教程上很少提到,但却有很好的用处,这类函数基本上分布在base以及utils包中,下面将它们略为归纳一下,以备后用。1,文件执行:在用R生成一个PDF文档后,如果想去打开它,你可能会在文件夹里找到再点开。再或者我们想调用系统中的其它程序来做点事情,可能要打开cmd敲点命令。实际上这都可以在R内部完成。举例来说用pandoc转换na.md成docx再打开它。sy...
View Article如何学习数据科学
本文翻译自一篇博客文章,作者是一名软件工程师,他描述了在五年时间内学习数据科学的经历和心得,他的学习途径包括了自学(书籍、博客、小项目),课程学习,教学讨论,会议交流和工作实践。一、入门1)自学(2 -...
View Article