数据科学 R语言速成
文章更新于:2020-03-07
按照惯例,需要的文件附上链接放在文首:
文件名:R-3.6.2-win.exe
文件大小:82.4M
下载链接:https://www.lanzous.com/i9c70mf
SHA256: DC967492639B236BA057FA3B4CA482FA64C7A8E4CAD720595592C5387D28B49F
一、R 语言介绍
| 类别 | 描述 |
|---|---|
| 用途 | R语言是一门语言,一个用于数据分析和绘图的环境,开源。 |
| 最新版本 | R Version 3.6.3( 截至2020–02-29 ) |
| 官网 | https://www.r-project.org/ |
| RStudio-IDE | https://rstudio.com/ |
二、R 语言语法知识
(一)规则
| 种属或命令 | 描述 |
|---|---|
| 大小写 | 区分大小写 |
| 命名 | 命名不能以数字开头 |
| 赋值符 | <- 或 = (二者有区别) |
| 注释符 | # |
| 帮助文档 | help()、help(命令)、??.start()、?命令、??字符 |
| R对象 | Vectors矢量、Lists列表、Matrices矩阵、Arrays数组、Factors因子、Data Frames数据帧/框 |
| 数据类型 | Logical(逻辑型)、Numeric(数字)、Integer(整型)、Complex(复合型)、Character(字符)、Raw(原型)Logical(TRUE FALSE)、Numeric(8 9.9)、Integer(2L 34L 0L)、Complex(3+4i)、Character(‘a’ “great” “3.5”)、Raw(“Hello” 被存储为 48 65 6c 6c 6f) |
| 定义变量 | height <- 980 |
| ls() | 查看当前工作空间的变量,例:ls() |
| rm() | 删除指定的变量,例:rm(height) 删除所有变量:rm(list = ls()) |
| 算术运算符 | +(加)、-(减)、*(乘)、/(除)、%%(取余)、%/%(整除) |
| 关系运算符 | >、<、==、>=、<=、!= |
| 逻辑运算符 | &、|、!、&&、|| |
| 冒号运算符 | :为向量按顺序创造一系列数字 |
| %in% | %in% 此运算符用于标识元素是否属于向量。 |
| %*% | %*%此运算符用于将矩阵与其转置相乘。 |
| if 语句 | if(boolean_expression) { } |
| if-else语句 | if(boolean_expression) { } else { } |
| switch 语句 | switch(expression, case1, case2, case3…) |
| .libPaths() | 获取包所在路径 |
| library() | 获取所有已经安装的包 |
| 加载包 | library("package Name", lib.loc = "path to library") |
| searc() | 获取所有已经加载的包 |
| 安装包 | install.packages("Package Name")命令直接从CRAN网页获取软件包,并将软件包安装在R环境中。 |
| repeat循环 | repeat { commands if(condition) { break }} |
| while循环 | while (test_expression){statement} |
| for 循环 | for (test_expression) { statement } |
| break | 用于终止循环 |
| next | 用于跳过当前当次循环,和python中的continue功能相同 |
| 定义函数 | function_name <- function(arg_1, arg_2, ...) { Function body } |
| 字符串 | 字符串以单引号或双引号括住,两种括号可以穿插。 |
(二)编程实践
1、定义变量
# 下面三种方法具有相同的作用
var1 <- c(4, 5)
var1 = c(4, 5)
c(4, 5) -> var1
# 向量c(TRUE,1)具有逻辑和数值类的混合。 因此,逻辑类强制转换为数字类,使TRUE为1。
var2 <- c(TRUE, 1)
# 在R语言中,变量本身没有声明任何数据类型,而是获取分配给它的R - 对象的数据类型。
# 所以R称为动态类型语言,这意味着我们可以在程序中使用同一个变量时,一次又一次地更改变量的数据类型。

2、算数运算符

三、数据结构
1、向量
创建向量的方法:
seq函数seq(from = x, to = y, length.out = z)
seq(1, 10, by = 2)
# 1 3 5 7 9
seq(1, 10, length.out = 5)
# 1 3 5 7 9
注:这四个量不可同时指定,否则报参数过多错误。
rep函数rep(x, times)
rep(3, 4)
# 3 3 3 3
rep(1:3, each =2)
# 1 1 2 2 3 3
访问向量的方法:
- 使用索引(注:从
1开始)访问向量
myc <- 1:10
cat(myc)
# 1 2 3 4 5 6 7 8 9 10
myc[c(1, 5, 7, 19)]
# 1 5 7 NA
注1:如果使用负数做索引,则表示不显示这个位置的值。
注2:如果使用布尔值做索引,则显示True 位置的值。
向量的修改和运算:
- 使用
append添加元素到向量
myc <- 1:4
append(myc, 'a', after = 3)
# "1", "2", "3", "a", "4"
向量的相加
如果两个向量长度一样,对应相加,如果长度不一样,则短的循环。向量的比较
和向量的相加类似。
如果长度一样,对应位置相比。
如果长度不一样,短的循环。
返回的结果都是布尔值向量。
# myc中是否有大于3的值
any(myc > 3)
# myc中是否全都大于3
all(myc >3)
2、矩阵和数组
创建矩阵的方法:
- 使用
dim()函数
# 创建一个2行5列的矩阵
y <- 1:10
dim(y) <- c(2, 5);
- 使用
matrix()函数
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
matrix(c(1, 2, 3, 11, 12, 13), nrow = 2, byrow = TRUE, dimnames = list(c("row1", "row2"), c("c.1", "c.2", "c.3")))
- 使用
rbind() cbind()函数
# 按行进行 拼接
mat1 <- rbind(A = 1:3, B = 4:6);
# 使用矩阵按列进行拼接
mat2 <- cbind(mat1, cbind(c(11, 12), c(13, 14)))
矩阵的运算:
- 矩阵乘法使用
%*%
第一个矩阵的行乘以第二个矩阵的列之和,放在结果的对应位置

如果使用 c(1,2) 与 mat1 相乘,因为前者不够数,所以会进行按列重复填充后与后者相乘。
- 矩阵的求逆
数据科学 R语言速成的更多相关文章
- 大数据之R语言速成与实战
什么是R语言? R语言由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两人共同发明.其词法和语法分别源自Scheme和S语言. R定义:一个能够自有有效的用于统计计算和绘图的 ...
- 写论文,没数据?R语言抓取网页大数据
写论文,没数据?R语言抓取网页大数据 纵观国内外,大数据的市场发展迅猛,政府的扶持也达到了空前的力度,甚至将大数据纳入发展战略.如此形势为社会各界提供了很多机遇和挑战,而我们作为卫生(医学)统计领域的 ...
- 大数据平台R语言web UI应用架构 设计与开发
1. 系统拓扑图 在日常业务分析中,R是非常常用的分析工具,而当数据量较大时,用R语言需要需用更多的时间来完成训练模型,spark作为大规模数据处理框架,采用内存计算,可以短时间内完成大量的数据的处理 ...
- 经典书单、站点 —— 大数据/数据分析/R语言
1. 科普.入门 <大数据智能>,刘知远.崔安顺等著: 特色:系统,宏观和全面: 2. R 语言站点 http://langdawei.com/:R 语言数据采集与可视化:
- 大数据基础--R语言(刘鹏《大数据》课后习题答案)
1.R语言是解释性语言还是编译性语言? 解释性语言 2.简述R语言的基本功能. R语言是一套完整的数据处理.计算和制图软件系统,主要包括以下功能: (1)数据存储和处理功能,丰富的数据读取与存 ...
- R语言基础入门之二:数据导入和描述统计
by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there t ...
- R语言XML格式数据导入与处理
数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...
- 第四篇:R语言数据可视化之折线图、堆积图、堆积面积图
折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...
- R语言数据接口
R语言数据接口 R语言处理的数据一般从外部导入,因此需要数据接口来读取各种格式化的数据 CSV # 获得data是一个数据帧 data = read.csv("input.csv" ...
随机推荐
- JVM进阶:JVM的监控利器
每次聊起性能测试,最后的终极话题就是怎么做优化.其实在Java的复杂项目中都会有内存不足问题.内存泄露问题.线程死锁问题.CPU问题.这些问题在小压力的情况下有可能并不明显,很容易被忽视.但是真正到了 ...
- 数据结构 - Collection接口
简介 Collection继承自Iterable,Collection接口是Java集合两大分支中的一支,Queue.List.Set都是Collection的扩展:集合大类分为了Collection ...
- 关于使用 Laravel 服务容器的优势介绍
如果说laravel框架的核心是什么,那么无疑是服务容器.理解服务容器的概念,对于我们使用laravel太重要了,应该说是否理解服务容器的概念是区分是否入门laravel的重要条件.因为整个框架正是在 ...
- C++ 【静态成员】static修饰的成员
首先,我们先通过字面意思来理解... 成员:成员变量.成员函数. static 修饰成员变量,还有修饰成员函数. static 声明为静态的,称为静态成员.不管这个类创建了多少个对象,静态成员只有 ...
- 【spring springmvc】springmvc使用注解声明控制器与请求映射
目录 概述 壹:注解说明 贰:实现注解声明控制器与请求映射 一:使用controller 二:配置包扫描与视图解析器 1.配置包扫描 2.配置试图解析器 三:配置部署描述符 1.读取spring-mv ...
- CF57C Array
题目传送门 题目大意(摘自洛谷) 描述 对于长度为n的数组A,A中只包含从1到n的整数(可重复).如果A单调不上升或单调不下降,A就可称为美丽的. 找出在长度为n时,有几个美丽的A. 输入 一个整数n ...
- 《前端之路》- TypeScript (三) ES5 中实现继承、类以及原理
目录 一.先讲讲 ES5 中构造函数(类)静态方法和多态 1-1 JS 中原型以及原型链 例子一 1-2 JS 中原型以及原型链中,我们常见的 constructor.prototype.**prot ...
- 渗透神器cobalt strike在数字杀软环境下的使用
当我们拿到cobalt strike的beacon权限时,使用它如何渗透目标内网.因为我看网上的文章都是在无杀软下写的,这难免有点脱离实战环境,本文主要测试CS的beacon在数字杀软环境下进行常规渗 ...
- 动态规划-Distinct Subsequences
2020-01-03 13:29:04 问题描述: 问题求解: 经典的动态规划题目,一般来说dp题目是递推关系公式难想,但是实际代码量还是比较少的. 有尝试过dfs来做,但是由于时间复杂度是指数级别的 ...
- sql-lib闯关61-65
第六十一关 和六十关基本一样,就是变成了单引号和双括号,这好像是第一次遇见双括号 爆数据库名 ?id=1'))and extractvalue(1, concat(0x5c, (select da ...