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

Coursera-Getting and Cleaning Data-week1

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

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

时间: 2025-01-10 13:04:56

Coursera-Getting and Cleaning Data-week1-课程笔记的相关文章

[Coursera] Getting and Cleaning Data Quiz

Quiz 1 Question 1 The American Community Survey distributes downloadable data about United States communities. Download the 2006 microdata survey about housing for the state of Idaho using download.file() from here: https://d396qusza40orc.cloudfront.

伊利诺伊大学香槟分校 Data Visualization 课程 笔记1

1. 定义 Data visualization is a high bandwidth connection between data on a computer system and a human brain, facilitated by visual communication. 2. 特征 洞悉数据,通过对数据的深入观察来帮助做进一步的决策,为后续探索研究提供进一步的假设. 3. 推荐书籍 The visual display of quantitative information

操作系统学习笔记----进程/线程模型----Coursera课程笔记

操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上

《nodejs+gulp+webpack基础实战篇》课程笔记(四)-- 实战演练

一.用gulp 构建前端页面(1)---静态构建 npm install gulp-template --save-dev 通过这个插件,我们可以像写后台模板(譬如PHP)一样写前端页面.我们首先学习一下写法. 现在我们创建一个新任务:创建一个裸的index.html文件,然后在body里面写上 ,我的年龄是:<%= age %> 下载好gulp-template,我们引用并配置 var gulp_tpl = require("gulp-template"); gp.tas

(转)妙味课堂—JavaScrip中级课程笔记

DOM基础概念.操作 DOM的概念及节点类型 childNodes children nodeType attributes 子节点和兄弟节点的操作 firstChild firstElementChild lastChild.lastElementChild nextSibling.previousSibling 父节点 parentNode offsetParent 元素位置宽高 offsetLeft.offsetTop offsetWidth.offsetHeight getPos() 操

Stanford机器学习课程笔记——神经网络的表示

Stanford机器学习课程笔记--神经网络的表示 1. 为什么要引入神经网络 其实这个问题等价与神经网络和之前的回归模型有什么区别,如果你没有学过其他机器学习算法的话.这个问题可以通过一个例子来说明:如果样本都是60*60的图像,那么每个样本的特征维数都是3600个,使用前面讲的线性回归模型,那么需要建立的参数个数就有3600的:如果是非线性回归模型,还要考虑高次项的情况,需要求解的参数就更加多了.此时的回归模型将会变得异常复杂,故我们需要其余比较高效的模型来解决这些实际的问题.这个时候我们就

Stanford机器学习课程笔记——单变量线性回归和梯度下降法

Stanford机器学习课程笔记--单变量线性回归和梯度下降法 1. 问题引入 单变量线性回归就是我们通常说的线性模型,而且其中只有一个自变量x,一个因变量y的那种最简单直接的模型.模型的数学表达式为y=ax+b那种,形式上比较简单.Stanford的机器学习课程引入这个问题也想让我们亲近一下machine learning这个领域吧~吴恩达大神通过一个房屋交易的问题背景,带领我们理解Linear regression with one variable.如下: 不要看这个问题简答,大神就是大神

S/4 HANA 精简课程笔记

S/4HANA 精简课程笔记 https://open.sap.cn/courses/s4h1-cn 参加了近期开的HANA精简课程,相当于介绍了一下HANA,就算是科普吧,附上笔记. 什么是S/4 HANA? S/4HANA是SAP的下一代商务套件(Business Suite),S/4HANA构建在最先进的内存平台—SAP HANA上. Open Platform : 开放的平台允许客户创建并扩展应用程序实现业务差异化,让大数据为我所用,例如,物联网(IoT). Innovative : A

算法面试课程笔记001 算法面试到底是什么鬼

算法面试课程笔记001算法面试到底是什么鬼 =============================================================================== 本文地址 : =============================================================================== 算法面试是什么? 让大家在面对面试中的算法问题时,有一个合理的思考路径: ·不代表能够"正确"回答每一个算法问题

Linux操作系统及应用课程笔记 索引

第0部分  软件的安装与配置 Linux下软件的安装与配置 第1部分*   绪论 第2部分*  Linux的安装过程 第3部分   系统Shell和常用命令 Shell文件相关常用命令及参数总结 Linux下常用命令 第4部分  VI编辑器 Linux下vi编辑器的使用 <<学习vi和vim编辑器>>1 <<学习vi和vim编辑器>>2 第5部分  Shell脚本 Shell入门之脚本管理 Shell入门之测试操作 Shell入门之条件循环 Shell入门之