数据分析(一): 《R语言实战》
2016.12.31~2017.01.01
开始学习R语言 计划利用元旦3天假期学完《R语言实战》1~7章
粗略学习绘图有关的章节、重点掌握数据统计方法
第1章 R语言介绍
1.1 介绍
本章内容
- R的安装
- 熟悉R语言
- 运行R程序
1.1典型的数据分析步骤
1.2 为何要用R
(1) 处理同领域问题的其它软件
市面上也有许多其他流行的统计和制图软件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。
(2) 选择R的好处:
- 开源、免费
- 支持的领域多
- 丰富的统计计算例程
- 顶尖的制图水平
- 强大的交互功能:实现1.1的所有步骤,将任意一个步骤的结果进行保存、操作,并进一步输入分析。
- 易于扩展,快速实现新方法
(3) 劣势
- 学习曲线陡峭(这是相对于掌握R的所有功能)
- 功能模块零散、难以找到(因为是个人贡献的)
1.3.2 获取帮助
表1-2 R中的帮助函数1.3.3 工作空间
- 工作空间:(workspace)就是当前R的工作环境,它存储着所有用户定义的对象(向量、矩阵、函数、数据框、列表)。
- 镜像:在一个R会话结束时,你可以将当前工作空间保存到一个镜像中,并在下次启动R时自动载入它。
1.3.4 输入输出
输入
$source("xxx.R")
输出
$sink("myoutput", append=TRUE, split=TRUE)
$pdf("mygraphs.pdf") #保存到pdf
$source("script2.R")
$sink()
$dev.off()
表1-4 用于保存图形输出的函数
1.4 包
包的发布地址 https://cran.r-project.org/web/packages/
包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。
包
- R函数
- 数据
- 预编译代码
- 完善的格式
- 库:存储包的目录
命令集合:
$函数.libPaths() #能够显示库所在的位置
$library() #可以显示库中有哪些包,未必已经载入
$search() #可以告诉你哪些包已经载入并可使用
$install.packages("gclus") #下载和安装gclus
$update.packages() #可以更新已经安装的包
$installed.packages() #查看已安装包的描述
$help(package="package_name") #查看package帮助文档
1.4.3 包的安装和载入
- 安装:包的安装是指从某个CRAN镜像站点下载它并将其放入库中的过程。
- 载入:要在R会话中使用它,还需要使用library()命令载入这个包。例如,要使用gclus包,执行命令library(gclus)即可。
1.5 批处理
第2章 创建数据集
本章内容
探索R中的数据结构
输入数据
导入数据
标注数据
第一部分(2.1~2.2节)---叙述了R中用于存储数据的多种结构
2.1 数据集的概念
数据集通常是由数据构成的一个矩阵数组,行表示观测,列表示变量。
- 观测(observation) - 变量(variable)
- 记录(record) - 字段(field)
- 示例(example) - 属性(attribute)
2.2 数据结构
R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。
以上数据结构区别在:
- 存储数据的类型
- 创建方式
- 结构复杂度
- 定位和访问元素的方法
2.2.1 向量
2.2.4 数据框
$ attach(xxxx) #可将xxxx数据框添加到R的搜索路径中
$detach(xxxx) #将xxxx数据框从搜索路径中移除
$with(xxx, {}) #{}中的所有操作都针对数据框xxx进行
2.2.5 因子
- 名义型变量:是没有顺序之分的类别变量
- 有序型变量:表示一种顺序关系,而非数量关系。病情Status(poor、improved、excellent)是顺序型变量的一个上佳示例
- 连续型变量:可以呈现为某个范围内的任意值,并同时表示了顺序和数量。年龄Age就是一个连续型变量
- 因子:类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor),使用factor()将名义型和有序型变量转换为因子
factor类型的向量中有Levels的概念。Levels就是factor中的所有元素的集合(没有重复)。我们可以发现Levels就是factor中元素排重后且字符化的结果!因为Levels的元素都是character。
2.2.6 列表
- 列表:就是一些对象(或成分,component)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。
第二部分(2.3节) ---涵盖了多种向R中导入数据的可行方法
2.3 数据输入方式
2.3.1 使用键盘输入数据
2.3.2 从带分隔符的文本文件导入数据
mydataframe <- read.table(file, options)
2.3.3 导入Excel数据
2.3.4 导入XML数据
2.3.5 从网页抓取数据
网络上的数据,可以通过所谓Web数据抓取(Webscraping)的过程,或对应用程序接口(application programming interface,API)的使用来获得。
可以用twitteR来获取Twitter数据,用 Rfacebook来获取Facebook数据,用Rflickr来获取Flicker数据。其他软件包允许你连接上如Google、Amazon、Dropbox、Salesforce等所提供的广受欢迎的网上服务。
2.3.6 导入SPSS数据
2.3.11 访问数据库管理系统
- 在mac上从mysql导入数据,使用RJDBC还是RODBC?
- 怎么判断数据库驱动是ODJBChi还是JDBC?
第三部分(2.4节) ---将讨论数据集的标注问题
2.4 数据集标注
为了使结果更易解读,数据分析人员通常会对数据集进行标注。这种标注包括为变量名添加描述性的标签,以及为类别型变量中的编码添加值标签。例如,对于变量age,你可能想附加一个描述更详细的标签“Age at hospitalization (in years)”(入院年龄)。对于编码为1或2的性别变量gender,你可能想将其关联到标签“male”和“female”上。
第四部分(2.5节) ---介绍一些处理数据集的实用函数
表2-4-1 处理数据对象的实用函数 表2-4-2 处理数据对象的实用函数第3章 图形初阶
试试demo数据绘图 Done
第4章 基本数据管理
本章内容
操纵日期和缺失值
熟悉数据类型的转换
变量的创建和重编码
数据集的排序、合并与取子集
选入和丢弃变量
4.3 变量的重编吗
重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程。举例来说,你可能想:
将一个连续型变量修改为一组类别值;
将误编码的值替换为正确值;
基于一组分数线创建一个表示及格/不及格的变量。
4.4 变量的重命名
第5章 高级数据管理
5.2 数值和字符处理函数
- 数值函数、数学函数、统计函数、概率函数
- 字符处理函数
基本的数值概念:
-
平均数:是几个数据的算术平均数。
-
众数:是一组数据中出现次数最多的数叫做这组数据的众数。
-
中位数:是将一组数据按大小(或小大)顺序排列后,处在最中间的一个数(奇数个)(偶数个求最中间的两个数的平均数)。
-
极差:是一组数据的最大值减去最小值所得的差叫极差。它是反映数据变化范围的。
-
(平)方差:是一组数据中各数据与它们的平均数的差的平方的平均数,我们把这个平均数叫做这组数据的方差。即来衡量这组数据的波动大小,一组数据的方差越大,说明这组数据的波动越大;方差越小,数据的波动越小。要比较数据的稳定性,一般会用到方差。方差比较全面地反映数据的离散程度。
-
标准差:是将求出的方差开平方,即算术平方根。这个算术平方根,即称为这组数据的标准差。标准差也是用来表示一组数据的波动大小的量。和方差一样是衡量这组数据的波动大小。
-
绝对中位差
-
四分位数(Quartile):即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。
第6章 基本图形
分析数据,第一件要做的事就是观察它:对于每个变量,哪些值是最常见的?值域大小?是否有不同寻常的观测?
本章主题:
- 将变量的分布进行可视化展示
- 通过结果变量进行跨组比较
以上说法中,变量可以是连续型、类别型。
第7章 基本统计分析
本章内容:
- 描述性统计分析
- 频数表和列联表
- 相关系数和协方差
- t检测
- 非参数统计
很多名词看不懂:偏度、峰度、因子向量、逻辑型向量、基五数、上下四分位数等等
可能是欠缺其它学科专业知识;暂停学习《R in action》,先补充其它知识。
2017-01-05 开始学习《深入浅出数据统计》 1~8章
2017-01-14 学习《R语言实战》遇到瓶颈。从第7章开始,内容比较难懂,而且非常枯燥,数据都是关于汽车的,关键是学了也不知道怎么用。还是想想怎么从贴近我生活工作的案例开始。