《R语言机器学习:实用案例分析》——1.1节探究R的基本内容

简介:

本节书摘来自华章社区《R语言机器学习:实用案例分析》一书中的第1章,第1.1节探究R的基本内容,作者[印度] 拉格哈夫·巴利(Raghav Bali)迪潘简·撒卡尔(Dipanjan Sarkar),更多章节内容可以访问云栖社区“华章社区”公众号查看

1.1 探究R的基本内容
这里,假定你至少已经熟悉了R中的基础内容,或者以前已经使用过R。因此,我们不会介绍太多有关下载和安装的内容。网上提供了这些部分的大量相关信息。推荐你使用RStudio,这是一个集成开发环境(IDE),它比R自带的图形用户界面(GUI)更好用。可以访问https://www.rstudio.com/ 获取更多信息。
更多关于R项目的详细内容,可以访问https://www.r-project.org/获取R语言的概览。除此以外,在该网站有R语言的大量精彩的添加包,可以在网站https://cran.r-project.org/浏览任何与R及其添加包的相关内容,该网站包含了大量的文档。
你必须已经熟悉R的交互式解释器,通常称作“读入–求值–输出”循环(Read-Evaluate-Print Loop, REPL)。这个解释器与任何等待输入的命令行界面类似,它以输入提示符>作为开始,表示R正在等待输入。如果输入需要多行,例如当编写函数时,在每个后续行中会有+提示符,这意味着你没有完成整个表达式的输入,R要求你输入表达式的剩余部分。
R也可以读取和执行以.R为扩展名的完整文件,该文件包括命令和函数。通常,任何一个大的应用程序都由多个.R文件组成,每个文件都在应用程序中扮演各自的角色,通常被称作一个模块。我们将在接下来的各节中探索R的主要特点和功能。
1.1.1 使用R作为科学计算器
R中最基本的元素包括变量和算术运算符,算术运算符可以用来进行像计算器那样的数学运算,甚至复杂的统计计算。例如:


72e9b5a6fb173b4549541e39f852faedd25b5629


6707e14b4ade5e34765df9df031b39463ac10c83

记住,在R中的一切都是以向量形式存在的。即使在以上代码片段中的输出结果也是向量。它们都有一个先导符号[1],表示这是一个含有一个元素的向量。
也可以像任何其他程序设计语言一样,将值赋给变量。例如:


c2a27c9262ea56467e85b2b951c986fdee52131a

1.1.2 向量运算
R中最基本的数据结构是向量。基本上,在R中的任何元素都是向量,即使是像上述例子中看到的一个数也是向量。向量本质上是一个序列或值的集合。可以使用:运算符或用于连接值的c函数来生成向量。例如:

在以上代码段中,你可以清楚地看到,我们仅仅使用+运算符把两个向量相加,而没有使用任何循环。这称为向量化,我们在后面将进行更多的讨论。接下来,介绍更多的向量运算,如下所示:


2a66ffa4f8fc8a1bc4574160efe1fa3716697bf5

输出:


f6166223ae0f37da8520b01ab71cf4d94110e8ca

你或许被上面的第2个运算搞糊涂了,这里尝试用一个较小的向量乘以一个较大的向量,但仍然得到了运算结果!如果仔细观察,就会发现R还返回了一个警告。在这个示例中,当两个向量在长度上不同时,本例中的小向量c(2,4)循环或者重复变为c(2,4,2,4,2),然后将它乘以第一个向量c(1,3,5,7,9),得到最终的结果向量c(2,12, 10,28,18)。这里使用的其他函数是R基础包中的标准函数。
下载本书示例代码
你可以在http://www.packtpub.com通过你的账户下载本书的示例代码文件。如果你在其他地方购买了本书,可以访问http://www.packtpub.com/support并进行注册,选择通过邮件把文件直接寄给你。
可以通过以下步骤下载代码文件:
使用你的电子邮件地址和密码进行登录或者注册。
将光标放在顶部的SUPPORT选项卡。
单击Code Downloads & Errata。
在Search文本框中栏输入书名。
选择你要下载的代码文件的书。
在下拉菜单中选择你购买本书的地方。
单击Code Download。
一旦文件下载,请确保使用以下软件的最新版本对文件夹进行解压缩:
用于Windows的WinRAR/7-Zip
用于Mac的Zipeg/iZip/UnRarX
用于Linux的7-Zip/PeaZip
1.1.3 特殊值
由于在数据分析和机器学习的过程中,你将处理大量混乱和脏的数据,所以记住一些R中的特殊值是十分重要的,这样它们中的某一个在后面出现时,你不会太惊讶。

这里你应该关心的主要值包括:Inf,代表无穷大(Infinity);NaN,代表非数值(Not a Number);NA代表数值缺失或者无效(Not Available)。下面的代码片段展示了对这些特殊值的逻辑测试以及它们的结果。请记住,TRUE和FALSE是逻辑数据类型值,类似于其他程序设计语言。

从这些函数的名字中,可以清晰地看出它们的作用。它们清楚地表明哪些值是有限的,哪些值是无限的,并分别检查NaN值和NA值。在清洗脏数据时这些函数十分有用。

相关文章
|
12月前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
893 3
|
6月前
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
239 9
|
7月前
|
机器学习/深度学习 数据采集 分布式计算
大数据分析中的机器学习基础:从原理到实践
大数据分析中的机器学习基础:从原理到实践
333 3
|
9月前
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
447 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
9月前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
556 15
|
9月前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
255 12
|
10月前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
1222 6
|
11月前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习中空间和时间自相关的分析:从理论基础到实践应用
空间和时间自相关是数据分析中的重要概念,揭示了现象在空间和时间维度上的相互依赖关系。本文探讨了这些概念的理论基础,并通过野火风险预测的实际案例,展示了如何利用随机森林模型捕捉时空依赖性,提高预测准确性。
530 0
机器学习中空间和时间自相关的分析:从理论基础到实践应用
|
11月前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
1364 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
11月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
223 3