摘要:
使用lattice进行高级绘图-- 自定义图形条带 面板条带默认的背景是:第一个调节变量是桃红色,第二个调节变量是浅绿色,第三个调节变量是浅蓝色。令人高兴地是,我们可以自定义颜色、字体和这些条带的其他方面。 让我们先从条带函数开始。正如lattice中的高水平图形函数允许我们通过控制每个面板的内容指 阅读全文
posted @ 2021-08-17 21:44
zhang-X
阅读(234)
评论(0)
推荐(0)
摘要:
使用lattice进行高级绘图-- 图形参数 查看默认的设置: show.settings() 把它们保存到名为mysettings的列表中: mysettings <- trellis.par.get() 以使用names()函数来查看列表的成分: names(mysettings) 体到叠加符号 阅读全文
posted @ 2021-08-17 21:43
zhang-X
阅读(160)
评论(0)
推荐(0)
摘要:
使用lattice进行高级绘图-- 分组变量 当你在lattice绘图公式中增加调节变量时,该变量每个水平的独立面板就会产生。如果想添加的结果和每个水平正好相反,可以指定该变量为分组变量。 比方说,我们想利用核密度图展示使用手动和自动变速器时汽车油耗的分布。我们可以使用下面的代码来添加相应的图形:( 阅读全文
posted @ 2021-08-17 21:41
zhang-X
阅读(144)
评论(0)
推荐(0)
摘要:
使用lattice进行高级绘图-- 面板函数 每一个高水平的画图函数都采用了默认的函数来绘制面板图。默认函数遵循命名规则panel.graph_function,其中graph_function指的是高水平的函数。例如: xyplot(mpg~wt|displacement, data=mtcars 阅读全文
posted @ 2021-08-17 21:37
zhang-X
阅读(534)
评论(0)
推荐(0)
摘要:
使用lattice进行高级绘图-- 调节变量 通常情况下,调节变量是因子。但是对于连续的变量应该如何操作呢?一种方法是使用R的cut()函数将连续的变量转化为离散的变量。另一种方法是,lattice包提供的函数可以将连续的变量转化为名为shingle的数据结构。具体来说,连续变量被分成一系列(可能) 阅读全文
posted @ 2021-08-17 21:35
zhang-X
阅读(513)
评论(0)
推荐(0)
摘要:
使用lattice进行高级绘图-- lattice 包 lattice包提供了用于可视化单变量和多变量数据的一整套图形系统。许多用户转向使用lattice包是因为它能很容易地生成网格图形。 网格图形能够展示变量的分布或变量之间的关系,每幅图代表一个或多个变量的各个水平。 思考下面的问题:纽约合唱团各 阅读全文
posted @ 2021-08-17 21:34
zhang-X
阅读(1574)
评论(0)
推荐(0)
摘要:
高级编程--编写有效的代码 在程序员中间流传着一句话:“优秀的程序员是花一个小时来调试代码而使得它的运算速度提高一秒的人。”R是一种鲜活的语言,大多数用户不用担心写不出高效的代码。作为一般规则,让代码易于理解、易于维护比优化它的速度更重要。但是当你使用大型数据集或处理高度重复的任务时,速度就成为一个 阅读全文
posted @ 2021-08-17 21:17
zhang-X
阅读(876)
评论(0)
推荐(0)
摘要:
高级编程--面向对象的编程 R是一个基于使用泛型函数的面向对象的编程语言。每个对象有一个类属性,这个类属性决定当对象的副本传递到类似于print()、plot()和summary()这些泛型函数时运行什么代码。 R有两个分离的面向对象编程的模型。S3模型相对更老、更简单、结构更少。S4模型更新且更复 阅读全文
posted @ 2021-08-17 21:14
zhang-X
阅读(280)
评论(0)
推荐(0)
摘要:
高级编程--创建函数 在R中处处是函数。算数运算符+、-、/和*实际上也是函数。例如,2 + 2等价于 "+"(2, 2)。 1. 函数语法 函数的语法格式是: functionname <- function(parameters){ statements return(value) } 如果函数 阅读全文
posted @ 2021-08-17 21:10
zhang-X
阅读(485)
评论(0)
推荐(0)
摘要:
高级编程--控制结构 当R解释器运行代码时,它按顺序逐行读取。如果一行不是一个完整的语句,它会读取附加行直到可以构造一个完全的语句。例如,如果你想计算3+2+5的和,可以运行代码: 3 + 2 + 5 也可以运行下列代码: 3 + 2 + 5 #第一行末尾的+号表示语句不是完整的。 你想有条件的或是 阅读全文
posted @ 2021-08-17 21:05
zhang-X
阅读(542)
评论(0)
推荐(0)
摘要:
高级编程--索引 任何数据对象中的元素都可以通过索引来提取。提取元素可以使用object[index],其中object是向量,index是一个整数向量。如果原子向量中的元素已经被命名,index也可以是这些名字中的字符串向量。需要注意的是,R中的索引从1开始,而不是像其他语言一样从0开始。 下面是 阅读全文
posted @ 2021-08-17 21:02
zhang-X
阅读(82)
评论(0)
推荐(0)
摘要:
数据类型--泛型向量或列表 列表是原子向量和/或其他列表的集合。数据框是一种特殊的列表,集合中每个原子向量都有相同的长度。在安装R时自带iris数据框,这个数据框描述了150种植物的四种物理测度及其种类(setosa、versicolor或virginica): head(iris) 这个数据框实际 阅读全文
posted @ 2021-08-17 20:58
zhang-X
阅读(115)
评论(0)
推荐(0)
摘要:
1 R 语言回顾 R是一种面向对象的、实用的数组编程语言,其中的对象是专门的数据结构,存储在RAM中,通过名称或符号访问。对象的名称由大小写字母、数字0~9、句号和下划线组成。名称是区分大小写的,而且不能以数字开头;句号被视为没有特殊含义的简单字符。 不像C和C++语言,在R语言中不能直接得到内存的 阅读全文
posted @ 2021-08-17 20:56
zhang-X
阅读(584)
评论(0)
推荐(0)
摘要:
使用ggplot2进行高级绘图--修改 ggplot2 图形的外观 1 坐标轴 ggplot2包会在创建图时自动创建刻度线、刻度标记标签和坐标轴标签。它们往往看起来不错,但是有时我们需要在更大程度上控制它们的外观。我们已经知道了如何通过labs()函数来添加标题并改变坐标轴标签。那么如何自定义轴标签 阅读全文
posted @ 2021-08-17 20:53
zhang-X
阅读(3995)
评论(0)
推荐(0)
摘要:
使用ggplot2进行高级绘图--刻面 如果组在图中并排出现而不是重叠为单一的图形,关系就是清晰的。我们可以使用facet_wrap()函数和facet_grid()函数创建网格图形(在ggplot2中也称刻面图)。 ggplot2的刻面图函数 其中var、rowvar和colvar是因子。 看一下 阅读全文
posted @ 2021-08-17 20:47
zhang-X
阅读(615)
评论(0)
推荐(0)
摘要:
使用ggplot2进行高级绘图--分组 为了理解数据,在一个图中画出两个或更多组的观察值通常是很有帮助的。在R中,组通常用分类变量的水平(因子)来定义。分组是通过ggplot2图将一个或多个带有诸如形状、颜色、填充、尺寸和线类型的视觉特征的分组变量来完成的。ggplot()声明中的aes()函数负责 阅读全文
posted @ 2021-08-17 20:44
zhang-X
阅读(6639)
评论(0)
推荐(0)
摘要:
用几何函数指定图的类型 ggplot()函数指定要绘制的数据源和变量,几何函数则指定这些变量如何在视觉上进行表示(使用点、条、线和阴影区)。下表列出了比较常见的几何函数,以及经常使用的选项。 几何函数 几何函数的常见选项 选项pch=用于指定绘制点时使用的符号。 产生如图所示的直方图: data(s 阅读全文
posted @ 2021-08-17 18:35
zhang-X
阅读(366)
评论(0)
推荐(0)
摘要:
使用ggplot2进行高级绘图 除了基础图形,grid、lattice和ggplot2软件包也提供了图形系统,它们克服了R基础图形系统的低效性,大大扩展了R的绘图能力。 grid图形系统可以很容易地控制图形基础单元,给予编程者创作图形的极大灵活性。 lattice包通过一维、二维或三维条件绘图,即所 阅读全文
posted @ 2021-08-17 18:31
zhang-X
阅读(1019)
评论(0)
推荐(0)
摘要:
处理缺失值--多重插补 多重插补(MI)是一种基于重复模拟的处理缺失值的方法。在面对复杂的缺失值问题时,MI是最常选用的方法,它将从一个包含缺失值的数据集中生成一组完整的数据集(通常是3到10个)。每个模拟数据集中,缺失数据将用蒙特卡洛方法来填补。此时,标准的统计方法便可应用到每个模拟的数据集上,通 阅读全文
posted @ 2021-08-17 17:04
zhang-X
阅读(4468)
评论(0)
推荐(0)
摘要:
处理缺失值--完整实例分析(行删除) 在完整实例分析中,只有每个变量都包含了有效数据值的观测才会保留下来做进一步的分析。实际上,这样会导致包含一个或多个缺失值的任意一行都会被删除,因此常称作行删除法(listwise)、个案删除(case-wise)或剔除。 函数complete.cases()可以 阅读全文
posted @ 2021-08-17 17:01
zhang-X
阅读(739)
评论(0)
推荐(0)
摘要:
处理缺失值的高级方法--探索缺失值模式 在决定如何处理缺失数据前,了解哪些变量有缺失值、数目有多少、是什么组合形式等信息非常有用,要知道数据为何缺失。 1 列表显示缺失值 mice包中的md.pattern()函数可生成一个以矩阵或数据框形式展示缺失值模式的表格。将函数应用到sleep数据集,可得到 阅读全文
posted @ 2021-08-17 16:59
zhang-X
阅读(1395)
评论(0)
推荐(0)
摘要:
处理缺失数据的高级方法 缺失数据的传统方法和现代方法,主要使用VIM和mice包。使用VIM包提供的哺乳动物睡眠数据(sleep,注意不要将其与基础安装中描述药效的sleep数据集混淆)。数据来源于Allison和Chichetti(1976)的研究,他们研究了62种哺乳动物的睡眠、生态学变量和体质 阅读全文
posted @ 2021-08-17 16:54
zhang-X
阅读(1303)
评论(0)
推荐(0)
摘要:
分类分析--选择预测效果最好的解 预测准确性度量 下面给出计算这几个统计量的函数: 评估二分类准确性: performance <- function(table, n=2){ if(!all(dim(table) == c(2,2))) stop("Must be a 2 x 2 table") 阅读全文
posted @ 2021-08-17 16:50
zhang-X
阅读(117)
评论(0)
推荐(0)
摘要:
分类分析--支持向量机 支持向量机(SVM)是一类可用于分类和回归的有监督机器学习模型。其流行归功于两个方面:一方面,他们可输出较准确的预测结果;另一方面,模型基于较优雅的数学理论。 SVM旨在在多维空间中找到一个能将全部样本单元分成两类的最优平面,这一平面应使两类中距离最近的点的间距(margin 阅读全文
posted @ 2021-08-17 16:48
zhang-X
阅读(1126)
评论(0)
推荐(0)
摘要:
分类分析--随机森林 随机森林(random forest)是一种组成式的有监督学习方法。在随机森林中,我们同时生成多个预测模型,并将模型的结果汇总以提升分类准确率。随机森林的算法涉及对样本单元和变量进行抽样,从而生成大量决策树。对每个样本单元来说,所有决策树依次对其进行分类。所有决策树预测类别中的 阅读全文
posted @ 2021-08-17 16:44
zhang-X
阅读(1782)
评论(0)
推荐(0)
摘要:
分类分析--决策树 决策树是数据挖掘领域中的常用模型。其基本思想是对预测变量进行二元分离,从而构造一棵可用于预测新样本单元所属类别的树。两类决策树:经典树和条件推断树。 1 经典决策树 经典决策树以一个二元输出变量(对应威斯康星州乳腺癌数据集中的良性/恶性)和一组预测变量(对应九个细胞特征)为基础。 阅读全文
posted @ 2021-08-17 16:41
zhang-X
阅读(5188)
评论(0)
推荐(0)
摘要:
分类分析--逻辑回归 逻辑回归(logistic regression)是广义线性模型的一种,可根据一组数值变量预测二元输出,即逻辑回归只适用于二分类 ,R中的基本函数glm()可用于拟合逻辑回归模型。glm()函数自动将预测变量中的分类变量编码为相应的虚拟变量。威斯康星乳腺癌数据中的全部预测变量都 阅读全文
posted @ 2021-08-17 16:37
zhang-X
阅读(1287)
评论(0)
推荐(0)
摘要:
分类分析 有监督机器学习领域中包含许多可用于分类的方法,如逻辑回归、决策树、随机森林、支持向量机、神经网络等,有监督学习基于一组包含预测变量值和输出变量值的样本单元。将全部数据分为一个训练集和一个验证集,其中训练集用于建立预测模型,验证集用于测试模型的准确性。 主要例子来源于UCI机器学习数据库中的 阅读全文
posted @ 2021-08-17 16:35
zhang-X
阅读(336)
评论(0)
推荐(0)

浙公网安备 33010602011771号