文章更新于: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、向量

创建向量的方法:

  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

注:这四个量不可同时指定,否则报参数过多错误。

  1. rep 函数 rep(x, times)
rep(3, 4)
# 3 3 3 3 rep(1:3, each =2)
# 1 1 2 2 3 3

访问向量的方法:

  1. 使用索引(注:从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 位置的值。

向量的修改和运算:

  1. 使用 append 添加元素到向量
myc <- 1:4
append(myc, 'a', after = 3)
# "1", "2", "3", "a", "4"
  1. 向量的相加

    如果两个向量长度一样,对应相加,如果长度不一样,则短的循环。

  2. 向量的比较

    和向量的相加类似。

    如果长度一样,对应位置相比。

    如果长度不一样,短的循环。

返回的结果都是布尔值向量。

# myc中是否有大于3的值
any(myc > 3) # myc中是否全都大于3
all(myc >3)

2、矩阵和数组

创建矩阵的方法:

  1. 使用 dim()函数
# 创建一个2行5列的矩阵
y <- 1:10
dim(y) <- c(2, 5);
  1. 使用 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")))
  1. 使用 rbind() cbind() 函数
# 按行进行 拼接
mat1 <- rbind(A = 1:3, B = 4:6); # 使用矩阵按列进行拼接
mat2 <- cbind(mat1, cbind(c(11, 12), c(13, 14)))

矩阵的运算:

  1. 矩阵乘法使用 %*%

    第一个矩阵的行乘以第二个矩阵的列之和,放在结果的对应位置



如果使用 c(1,2)mat1 相乘,因为前者不够数,所以会进行按列重复填充后与后者相乘。

  1. 矩阵的求逆

数据科学 R语言速成的更多相关文章

  1. 大数据之R语言速成与实战

    什么是R语言? R语言由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两人共同发明.其词法和语法分别源自Scheme和S语言. R定义:一个能够自有有效的用于统计计算和绘图的 ...

  2. 写论文,没数据?R语言抓取网页大数据

    写论文,没数据?R语言抓取网页大数据 纵观国内外,大数据的市场发展迅猛,政府的扶持也达到了空前的力度,甚至将大数据纳入发展战略.如此形势为社会各界提供了很多机遇和挑战,而我们作为卫生(医学)统计领域的 ...

  3. 大数据平台R语言web UI应用架构 设计与开发

    1. 系统拓扑图 在日常业务分析中,R是非常常用的分析工具,而当数据量较大时,用R语言需要需用更多的时间来完成训练模型,spark作为大规模数据处理框架,采用内存计算,可以短时间内完成大量的数据的处理 ...

  4. 经典书单、站点 —— 大数据/数据分析/R语言

    1. 科普.入门 <大数据智能>,刘知远.崔安顺等著: 特色:系统,宏观和全面: 2. R 语言站点 http://langdawei.com/:R 语言数据采集与可视化:

  5. 大数据基础--R语言(刘鹏《大数据》课后习题答案)

    1.R语言是解释性语言还是编译性语言?   解释性语言 2.简述R语言的基本功能.   R语言是一套完整的数据处理.计算和制图软件系统,主要包括以下功能: (1)数据存储和处理功能,丰富的数据读取与存 ...

  6. R语言基础入门之二:数据导入和描述统计

    by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there t ...

  7. R语言XML格式数据导入与处理

    数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...

  8. 第四篇:R语言数据可视化之折线图、堆积图、堆积面积图

    折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...

  9. R语言数据接口

    R语言数据接口 R语言处理的数据一般从外部导入,因此需要数据接口来读取各种格式化的数据 CSV # 获得data是一个数据帧 data = read.csv("input.csv" ...

随机推荐

  1. qtp10安装步骤(比较完整)

    在安装qtp之前,要提前安装软件(不知道是干嘛的,反正安装就完了),右键--管理员运行完成安装,如下图: 解压qtp镜像: 双击setup: 第一步,点击第一排 第二步, 注:安装QTP系统提示“ 计 ...

  2. go中处理各种请求方式以及处理接口请求参数

    话不多说直接上代码,解读内容全部在代码中 1.处理请求方式 package main import ( "fmt" "io/ioutil" "net/ ...

  3. 自定义添加$_SERVER中的变量

    如何根据自己项目中的需求自定义$_SERVER中的变量呢?比如$_SERVER['XU_TEXT_PARAM'],这个超全局变量输出肯定是会报错的.那如何自定义它,让它输出我们想要输出的值呢? 1.在 ...

  4. kafka实现无消息丢失与精确一次语义(exactly once)处理

    在很多的流处理框架的介绍中,都会说kafka是一个可靠的数据源,并且推荐使用Kafka当作数据源来进行使用.这是因为与其他消息引擎系统相比,kafka提供了可靠的数据保存及备份机制.并且通过消费者位移 ...

  5. 建议5:防止switch贯穿

    switch语句,除非明确地中断流程,否则每次条件判断后都贯穿到下一个case条件.例如 switch(expression){ case label1: statementList1 case la ...

  6. kafka使用指南

    快速开始 本教程假设您刚刚开始,并且没有现有的Kafka或ZooKeeper数据.由于Kafka控制台脚本对于基于Unix和Windows的平台是不同的,因此在Windows平台上使用bin\wind ...

  7. 编译Zookeeper3.4.6源代码并通过Intellij IDEA运行(2020年)

    一.问题背景 生产环境Windows机器上用的Zookeeper 3.4.6,最近经常报如下异常: 经过搜索,看到一篇帖子可以解决:https://www.jianshu.com/p/73eec030 ...

  8. 【ES】Java High Level REST Client 使用示例(增加修改)

    ES提供了多种编程语言的链接方式,有Java API,PHP API,.NET API 官网可以详细了解 https://www.elastic.co/guide/en/elasticsearch/c ...

  9. iOS/macOS推荐个高效苹果开发工具, JSON 转模型代码工具,不再为复杂JSON数据写模型而烦恼,支持Swift/Objective-C,极速转换

    CCJSON 是一款运行在macOS上 JSON 转模型代码工具,不再为复杂JSON数据写模型而烦恼,可识别嵌套模型,字典/数组,支持Swift/Objective-C,操作方便,极速转换.下载 效果 ...

  10. 微信开发+百度AI学习:微信网页开发环境搭建

    参考微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 两步即可获取微信网页开发能力 STEP1: ...