Coursera-Getting and Cleaning Data-week1-课程笔记

时间:2022-07-07 15:05:20

博客总目录,记录学习R与数据分析的一切:http://www.cnblogs.com/weibaar/p/4507801.html

--

Sunday, January 11, 2015

课程概述

Getting and Cleaning Data是Coursera数据科学专项的第三门课,有中文翻译。但是由于中文区讨论没有英文区热闹,以及资料积累,强烈建议各位同时选报中文项目和英文项目,可以互相匹配学习。

Week1的课程概括下来,主要介绍了getting and cleaning data的目的,即从不同数据源里获得整洁数据集(Tidy Data),以及其方法。

包括

  1. download.file() :直接从网站上下载数据,但要点明其存放位置(destfile)
  2. read.csv/read.table/fread: 读取本地数据。其中fread需要事先加载data.table包,当数据量比较大时,使用data.table包速度极快,且筛选较易3. xlsx包可以读取excel数据。不过根据论坛学员反馈,其对系统环境要求较高,譬如java等。实际工作中,用csv或许更合适
  3. XML包可用于抓取网络数据。在quiz里演示了一个XML包抓取zipcode的代码,很强大。
  4. JSON,不过这里我还没听完
  5. data.table包,感觉跟dplyr有的一拼,都很简洁,关键代码是fread

代码解析

  1. csv
#path是一段网址,csv格式
path<-"data.csv"
download.file(path,destfile="F:/test1.csv")
#需要用read.csv再读入数据库里,这里要指定位置
  1. XML
library(XML)
#用xmlTreeParse读入xml数据。这里如果不用useInternalNodes的话,bc内会出来两个list,估计其中一个是数据的特殊储存,如元数据一样的东西?
bc<-xmlTreeParse("F:/getdata-data-restaurants.xml",useInternalNodes = FALSE)
bc1<-xmlTreeParse("F:/getdata-data-restaurants.xml",useInternalNodes = TRUE)
bcnote<-xmlRoot(bc)
class(bc)
class(bc1)
class(bcnote)
#通过class可以看到,跟直接读入的bc数据集不同,在xmlRot后,增加了新的类型数据。
#在这里,讲义里介绍的内容是,用xpathSApply来获得新的数据集【认真看讲义和视频有惊喜
d<-xpathSApply(bcnote,"//neighborhood",xmlValue)

XML包的介绍,使我们初步掌握了网页抓取技术的方法。

在英文讨论区里,有人分享了一些关于XML深入学习的知识,先暂时记下链接,以后应该会有用:)

  1. XML Code Review Request
  2. Error: XML content does not seem to be XML
  3. Looking for more good XML tutorials

结尾

在这段时间的学习里,工具上有了新的变化

  1. 开始使用R markdown来写blog,认识与入门 Markdown

  2. 学习ggplot2,看完了半本ggplot2的制图书。打算结合经典图表系列,一个个仿造这些图。必须感慨一下,开发ggplot2的Hadley Wickham真的太牛了!当你深入学习R的时候,你会很惊讶的发现Hadley无处不在……无论是制图(ggplot2),数据整理(dplyr,plyr,reshape2),甚至是GUI(RStudio),哪里都是他,哪里有牛包,哪里就有他

  3. 在Coursera讨论区看到一个几乎称得上爷爷辈的人在学R。他头像里都有白胡子了,自称在IT做了很多年,但是从来不会停止学习的脚步,现在在跟我们一起学coursera

有句话说得好,不怕你聪明,就怕比你聪明的人在拼命的,持续不断的努力。各位互勉。

博客总目录,记录学习R与数据分析的一切:http://www.cnblogs.com/weibaar/p/4507801.html