《R语言实战(第2版)》([美] Robert I. Kabacoff)电子书网盘下载免费在线阅读
资源链接:
链接:https://pan.baidu.com/s/1LGgzzjw4XSz159P0dCubFA
提取码:v2g0书名:R语言实战(第2版)
作者:[美] Robert I. Kabacoff
译者:王小宁
豆瓣评分:9.1
出版社:人民邮电出版社
出版年份:2016-5
页数:556
内容简介:
本书注重实用性,是一本全面而细致的R指南,高度概括了该软件和它的强大功能,展示了使用的统计示例,且对于难以用传统方法处理的凌乱、不完整和非正态的数据给出了优雅的处理方法。作者不仅仅探讨统计分析,还阐述了大量探索和展示数据的图形功能。新版做了大量更新和修正,新增了近200页内容,介绍数据挖掘、预测性分析和高级编程。
作者简介:
作者简介:
Robert I. Kabacoff
R语言社区著名学习网站Quick-R的维护者,现为全球化开发与咨询公司Management研究集团研发副总裁。此前,Kabacoff博士是佛罗里达诺瓦东南大学的教授,讲授定量方法和统计编程的研究生课程。Kabacoff还是临床心理学博士、统计顾问,擅长数据分析,在健康、金融服务、制造业、行为科学、政府和学术界有20余年的研究和统计咨询经验。
译者简介:
王小宁
中国人民大学统计学院14级硕士,16级博士,统计之都副主编,中国人民大学数据挖掘中心分布式计算负责人,研究兴趣包括统计机器学习和缺失数据。
刘撷芯
中国人民大学统计学院13级硕士,爱荷华大学商学院16级博士,中国人民大学数据挖掘中心核心成员之一,研究兴趣包括统计机器学习和文本分析。
黄俊文
2014年毕业于中山大学数学系,2016年毕业于加州大学圣地亚哥分校统计学专业,统计之都成员,易易网创始人之一,目前关注计算机科学和统计学的结合与应用,包括机器学习方法等。他致力于成为一个有趣的人。
向量是 R 语言中最基本的数据类型,在 R 中没有单独的标量(例如 1 本质上是 c(1)) 。
R 中可以用 = 或者 <- 来进行赋值 , <-的快捷键是 alt + - 。
R的下标是从1开始的,和python等不同(python四从0开始的)
当然我们也可以用逻辑进行筛选,例如
负数下标表示不选这个这些下标,例如:
c() 可以合并向量,例如
向量有个比较有趣的性质,当两个向量进行操作时,如果长度不等, 长度比较短的一个会复制自己直到自己和长的一样长。
a 自动变成了 c(3,4,3,4) 然后与b相加 , 得到了下面的结果。
遇到不懂得函数,可以用help("函数")查看函数用法。
矩阵,从本质上来说就是多维的向量,我们来看一看 我们如何新建一个矩阵。
可以看到向量元素变为矩阵元素的方式是按列的,从第一列 到第二列,如果我们想按行输入元素,那么需要加入 byrow = TRUE 的参数:
与向量相似,我们可以用下标来筛选矩阵, 例如:
a[行,列]
当我们对两个矩阵相乘,我们得到的结果是 对应元素两两相乘的结果,例如:
而这不是我们想要的矩阵乘法,在 R 中我们在乘法旁边加两个 百分号来做矩阵乘法:
此外,我们可以用 t() 来求矩阵的转置 , 用 solve() 来求矩阵的逆。
数据框类似矩阵,与矩阵不同的是,数据框可以有不同的数据类型。 一般做数据分析,我们把一个类似 excel 的表格读入 R ,默认的格式 就是数据框 , 可见数据框是一个非常重要的数据结构。
一般来说我们需要分析的数据,每一行代表一个样本,每一列代表一个 变量。
下面我们用 R 内置的数据集 iris 来看一看数据框的使用。
我们用 data 函数调入了 iris 这个数据集 , 然后用 head 函数来看一看这个数据 的前几行 , 可以看到有 sepal 的长度,宽度,petal 的长度和宽度,还有一个变量 Species 来描述样本的类别。
我们可以用 summary 函数来对数据集做大致的了解。
可以直观地看到每个变量的信息,对于几个数值变量,我们可以看到最小值,中位数等等统计信息。而对于 Species 这个分类变量,我们看到的是计数信息。
筛选数据框与矩阵相似,都可以通过数字下标来获取子集,不同地是因为数据框有不同的列名,我们也可以通过列名来获取某一特定列,例如:
我们可以用 names() 函数来获取数据框的列名
并可以通过为其赋值改变列的名字。
列表是一种递归式的向量,我们可以用列表来存储不同类型的数据,比如:
列表有多种索引方式,可以用如下方式获取。
今天我们实验的对象就是一组从原始 R 进化出来的工具链 Tidyverse , 它是由 Hadley Wickham 主导开发的一系列 R 包的集合。 Tidyverse 继承了R语言进行快速统计分析的优势 , 并实现了一些新的理念 , 例如 magrittr 包中的管道操作 , 让线性嵌套的函数组合变得更加清晰易懂;可视化方面中的 ggplot ,使绘图变成搭积木式的图层叠加。
这样的小发明有的改变了分析的运作方式 , 有的改变了使用者的认知方式 , 聚在一起形成了一种新的数据分析的生态链 。具体来看 , Tidyverse 有如下核心组件:
mpg 数据集是刻画不同汽车的排放状况的一个数据集, 总过有 234 个样本 , 11 个变量 。 这 11 个变量分别是:
manufacture: 制造商
model: 车型
dispel: 汽车排放量
year: 制造年度
cyl: 排气管数量
trans: 排放类型
drv: 驱动方式
cty: 每公里耗油量(城市道路)
hwy: 每公里耗油量(高速路)
fl: 油的种类
class: 车的类型
更多数据相关信息可以通过 help(mpg) 指令获取。
在属性映射中加入 color=class 参数后 , 我们可以看到每个点的汽车对应的类型被用 不同颜色表现了出来 , 对于散点图 , 还有 size(大小) , shape(形状) 等等参数 可以用于确定点的属性。
对于条形图的y轴就是数据框中原本的数值时,必须将geom_bar()函数中stat(统计转换)参数设置为’identity’,即对原始数据集不作任何统计变换,而该参数的默认值为’count’,即观测数量。
在R中,如果我们想要从外界读入文件或写出文件到特定路径该如何操作呢?读入文件,我们可以用read.table函数;而写出文件,我们可以用write.table函数。
每个参数都有自己的意义,其中比较常用的有header,sep等.
file是我们读入的文件名称;header,设置为T或F,是否把第一行定义为header;sep是设置文件内的分隔符。我们看个例子:
如果大家对具体的参数想要了解,可以输入下面命令,就可以了解这个函数以及里面各个参数的具体用法和含义:
其中比较常用的参数有file,quote,sep,row.names和col.names.
其中file是设置我们输出的文件名,这个是自己定义的。
quote是一个逻辑值,T或者F。如果是T,那么输出的结果文件中的因子或者字符串会有引号;如果是F,输出的结果文件中的因子或者字符串就没有引号。
sep,和read.table中的sep类似,是分隔符,不过是用来设置输出文件是以什么分隔符来分割,比较常用的有空格,",",或者"\t"等。
row.nems和col.names是用来设置是否输出行和列名。
希望这几个例子可以使你了解了write.table的常用用法,如果想更详细的了解,可输以下命令查看:
希望有帮到你。