《实用机器学习》(孙亮 黄倩.著)笔记——第二章 R语言
2.1R的简单 介绍
一、R是一种自由、免费、开源的解释型编程语言,具有强大的数据分析工具和图形工具,支持多种设备上的分析和展示。
S语言无须关心内存分配与数据结构细节,具有良好的可移植性与可扩展性。
2.2R的初步体验
一、R的下载与安装:
https://blog.csdn.net/m0_47397401/article/details/106070026
二、RStudio下载与安装:
https://blog.csdn.net/m0_47397401/article/details/106070609
2.3基本语法
R语言允许直接使用变量,不需要预定义数据类型
一、注释语句
以字符#开头的语句称为注释语句。注释内容占多行时,每行前面都要加上#。在RStudio中,可以使用快捷键Ctrl+Shift+C注释一块程序,也可以使用Ctrl+Shift+C去除注释。
二、表达式语句
1、在R中,所有的变量、数据及函数都以对象的形式保存在内存中。对象的名字必须以字母开头,中间可以包含点(.)及下划线(_)。
2、赋值功能:=、->、-<
3、加、减、乘、除、乘方、取模、整数除法:+,-,*,/,^,%%,%/%
4、+号也可以用作连字符
5、大于、小于、大于等于、小于等于、等于、不等于:>,<,>=,<=,==,!=
6、字符型数据可以用单引号或者双引号表示
7、与、或、非:&,|,!
8、a %in% b,可判断a是否在b中间
三、函数调用语句
函数调用语句的一般形式为:
函数名(实际参数1,实际参数2,……)
四、控制语句
五、函数
ls():列出内存中的所有对象名
help():获取关于函数的进一步介绍信息
rm()/remove():删除内存中的所有对象
paste():将多个字符型对象串起来
paste0():sep为空字符
cat():以用户自定义的形式输出结果
plot():作图画出y相对于x的变化情况
c():把若干个参数组合成一个向量或者列表,函数的返回值即为组合的结果
六、自定义函数:
R语言允许如下形式的自定义函数:
采用超级赋值**<<**可以使r从局部变量变为全局变量
2.4常用数据结构
2.4.1向量
一、向量和基础数据类型
R中的基本类型是向量,而不是标量
根据存储元素类型的不同,向量可以分为如下几类:
整数型、数值型、字符型、逻辑型、复数型
assign函数可替换为<-,可以使用**class()**函数来检查生成这4个向量的类型
在R中,逻辑值的表示为TRUE和FLASE,也可以简写为T和F。
seq():生成序列
rep():生成一个所有元素都相同的向量
或者使用如下函数,效果完全相同
常用的类型转换函数有:
在R中,无论数据类型如何,缺省值都用NA表示,进行任何操作所得的结果都是NA。对于NA值,一般使用is.na()来处理。
二、向量的运算
2.4.2因子
在R中,因子是用来表示分类变量的一种有效方法,所谓分类变量就是取值来自一个集合的变量
因子数据:如果将每个元素都存储为字符型数据,则会占用比较多的存储空间。为节省存储空间,可以用正整数的形式保存每个元素,并保存正整数到各个取值之间的映射关系。这样得到的数据就是因子数据,而所有不同的取值称为水平
将gender转化为因子数据
levels():获取所有水平值
2.4.3矩阵
一、矩阵的定义
array():matrix():获得矩阵
colnames(M):获取和修改M的列名
rownames(M):获取和修改M的行名
二、矩阵的运算
1、基本运算
矩阵乘积:A %*% B
输出:
solve():求解逆矩阵
2.4.4数据框
一、数据框的定义
数据框是R语言中最接近SAS和SPSSS数据集的数据结构,它在形式上类似于矩阵,但允许各列的数据类型不同,可以很方便地表示实际中的各种数据。
创建数据框的方法:
1、通过读取文件的方式创建数据框
2、手工创建数据框
二、 数据框的操作
rbind(dfa,dfb):按dfa中的列顺序依次捆绑dfa和dfb的行,生成一个新的数据框
cbind(dfa,dfb):按dfa中的行顺序依次捆绑dfa和dfb的行,生成一个新的数据框
expand.grid():将参数的不同组合保存在一个数据框中
2.4.5列表
R的列表是一个由对象的有序集合构成的对象。列表中包含的对象又称为它的分量。列表中的分量可以为任意类型,包括列表。
《实用机器学习》(孙亮 黄倩.著)笔记——第二章 R语言相关推荐
- Web前端开发笔记——第二章 HTML语言 第四节 超链接标签
目录 前言 一.超链接标签 (一)链接其它子网页 (二)链接其它站点 (三)虚拟超链接 二.从当前页面链接到指定位置 三.链接的访问情况 四.在新窗口中打开链接 例题 结语 前言 本节介绍超链接标签即 ...
- java语言定义一个具备栈功能的类_Java学习笔记 第二章 Java语言基础
第二章 JAVA语言基础 一.关键字 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有的字母都为小写 2.用于定义数据类型的关键字 c;ass interface ...
- Web前端开发笔记——第二章 HTML语言 第六节 区域标签、列表标签
目录 一.区域标签 (一)div标签的定义 (二)div标签的属性 二.列表标签 (一)列表标签的定义 (二)列表标签的类型 1.有序列表 (1)有序列表的定义 (2)有序列表的属性 2.无序列表 ( ...
- Web前端开发笔记——第二章 HTML语言 第十节 画布标签、音视频标签
目录 一.画布标签 二.音视频标签 (一)音频标签 (二)视频标签 (三)资源标签 结语 一.画布标签 <canvas> </canvas> 画布标签用于图形.字符等的绘制,它 ...
- Web前端开发笔记——第二章 HTML语言 第三节 文本格式化标签
目录 前言 一.文本加粗.斜体标签 二.文本字体缩小.放大标签 三.文本下标.上标标签 四.文本下划线.删除线标签 五.双引号字符 结语 前言 这里主要介绍对html语言中对文本的处理. 一.文本加粗 ...
- Web前端开发笔记——第二章 HTML语言 第十一节 语义标签
目录 一.语义标签的定义 二.头部标签.底部标签 三.导航栏标签 四.内容栏标签.区段标签 五.其它内容标签 六.< figure > 和 < figcaption >标 结语 ...
- Web前端开发笔记——第二章 HTML语言 第九节 框架标签、脚本标签
目录 一.框架标签 (一)显示目标页面 (二)规定大小的框架 (三)规定边框的框架 二.脚本标签 结语 一.框架标签 (一)显示目标页面 <iframe></iframe>标签 ...
- Web前端开发笔记——第二章 HTML语言 第八节 表单标签
目录 一.表单的定义 二.输入标签 (一)文本框和密码框 (二)提交按钮和重置按钮 (三)数值选项菜单 (四)滑动条 (五)搜索框 (六)input标签的其它type属性 (七)单选框和复选框 (八) ...
- Web前端开发笔记——第二章 HTML语言 第七节 表格标签
目录 一.表格标签的定义 二.表格标签的属性 (一)边框属性 (二)单元格属性 三.表格标签的表头 表头属性 四.表格标签的标题 五.表格标签的嵌套 结语 一.表格标签的定义 在html中,表格标签表 ...
最新文章
- Forms Authentication timeout and Expiration
- document.body ,window.screen javascript对象属性取值意义
- C++ Primer 5th笔记(chap 13 拷贝控制)拷贝赋值函数
- JDBCUtils工具类编写
- 重磅|阿里云发布“一站式敏捷数据仓库解决方案” 实现库仓一体数据分析能力(内含干货PPT下载)
- JAVA中构造器和方法的区别点
- rabbitmq如何保证消息不丢失_RabbitMQ的去重与防止消息的丢失
- Wexflow:C#中的开源工作流引擎
- MySQL多对多创建表语句(防忘记)
- mllib逻辑回归 spark_《Spark大数据分析实战》笔记
- 2级c语言题库及答案,计算机二级c语言考试题库及答案
- APICloud AVM框架 开发CRM客户管理系统
- Linux程序设计(常用Linux命令)
- 数组中的键值对去重_数组去重-
- IC在測試生產過程的靜電放電(ESD)擊傷及電性過壓(EOS)現象
- Android软键盘弹出和收起的监听
- 微软mysql官网_az mysql
- 测开系列Selenium Webdriver Python(21)--元素定位2
- linux 磁盘缓存设置,Linux下的磁盘缓存
- 微信小程序《仿支付宝首页应用管理》