R的简单运算
赋值
一般赋值是=号,但是R语言是数学语言,所以赋值符号与伪代码相似,即<-;
这个赋值符号适合数学工作者识别,但是不适合程序工作者操作,因此同时也支持=。
数学运算符
优先级 符号 含义
1 () 括号
2 ^ 乘方运算
3 %% 整除求余
%/% 整除
4 * 乘法
/ 除法
5 + 加法
- 减法
关系运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
!= 不等于
== 相等于
以上关系运算符都用于判断
逻辑运算符
逻辑运算符可用于数字、逻辑和复数类型的向量
大于1的数字都为TRUE。
逻辑运算都比较两个向量,将第一向量和第二向量的每个元素进行比较,最后返回一个布尔值。
& 元素逻辑与运算符
| 元素逻辑或运算符
! 元素逻辑非运算符
&& 逻辑与运算符(逻辑与运算符,只对向量中的第一个向量的元素进行判断)
|| 逻辑或运算符(逻辑或运算符,只对向量中的第一个向量的元素进行判断)
赋值运算符
<-
=
<<-
以上均为向左赋值
->
->>
以上为向右赋值
其他运算符
: 冒号运算符,用于创建一系列数字的向量
%in% 用于判断元素是否在向量里,返回布尔值,有的话返回true,没有返回false
%*% 用于矩阵与它转置的矩阵相乘
数学函数
常见的数学函数有
sqrt(n) n的平方根
exp(n) 自然数e的n次方
log(m,n) m的对数函数,返回n的几次方等于m
log10(m) 相当于log(m,10)
取整函数
round (n) 对n四舍五入取整
(n,m) 对n保留m位小数四舍五入
ceiling (n) 对n向上取整
floor (n) 对n向下取整
当取整位是偶数的时候,五也会被舍去
R的三角函数是弧度制
sin(pi/6)
R的反三角函数
asin()
以及概率论与统计学的一些概率分布函数
dnorm()
pnorm()
qnorm()
rnorm()
这四个都是用来计算正态分布的函数
分布函数的名字的前缀有四种:
d——概率密度函数
p——概率密度积分函数
q——分位数函数
r——随机数函数
详情见概率论与数理统计
R数据类型
数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。
变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
R语言中最基本的数据类型主要有三种:
数字;
逻辑;
文本。
数字常量主要有两种
一般型与科学计数法
逻辑类型只有布尔型,TRUE与FALSE。
而R语言区分大小写。
最直观的数据类型就是文本类型。文本可以用双引号,也可以用单引号。
按照对象类型来分是以下6种:
向量(vector)
列表(list)
矩阵(matrix)
数组(array)
因子(factor)
数据框(data.frame)
R语言的下标不代表偏移量,而是代表顺序。
向量在数学运算中是不可或缺的工具——我们最常见的向量是二维向量,这种向量在平面坐标系中必然会用到。
”向量“作为线性表结构,应该具备一些常用的处理函数。R具备这样的处理函数。
向量排序:
sort()和order()以及rev()
向量统计
R中有十分完整的统计学函数
sum 求和
mean 求平均值
var 方差
sd 标准差
min 最小值
max 最大值
range 取值范围(二维向量,最大值和最小值)
向量生成
向量生成可以用c()函数,也可以用min:max运算符生成连续的序列。
如果像生成有间隙的等差数列,应该使用seq函数。
rep(是重复的意思,可以产生重复的序列。
向量会用到NA和NULL,这两个词的区别是:
NA代表的是"缺失”,NULL代表的是“不存在”
NA缺失就像是占位符,代表这里没有一个值,但是位置存在。
NULL代表数据不存在。
NULL在向量中没有任何意义
逻辑型
逻辑向量主要用于向量的逻辑运算。
which()函数是十分常见的逻辑型向量处理函数,可以用于筛选所需数据的下标。
类似的函数还有all()和any()
all()用于检查逻辑向量是否全部为TRUE,any()用于检查逻辑向量是否含有true。
字符串
字符串数据数据类型本身并不复杂,下面介绍一下字符串的操作函数:
toupper() 转换成大写字母
tolower()转换成小写字母
nchar("zhongwen",bytes) 统计字节长度
substr("1234567",1,3)截取字符串长度,从1到3 。
substring("12345677",5) 截取字符串长度,从5开始到结束。
as.numeric("12") 将字符串转换为数字
as.character(12.34) 将数字转换为字符串
strsplit("21;23;34",";") 分隔符拆分字符串
gsub("/"."-","2019/10/1") 替换字符串
在windows计算机上实现,使用的是GBK编码标准,所以一个中文字符是两个字节,如果在UTF-8编码的计算机上运行,单个中文字符的长度应该是3
矩阵
R语言为线性代数的研究提供了矩阵类型。
矩阵初始化内容是由一个向量来传递的,其次要表达一个矩阵有几行、有几列。
向量中的值会一列一列填充到矩阵中,如果想要按行填充,则需要指定byrow属性。
矩阵的四则运算与向量的四则运算也一致,既可以做标量运算,也可以与同规模的矩阵做对应位置的运算。
矩阵之间的运算,逆矩阵,均可以实现。
R判断语句
判断结构要求程序员指定一个或者多个需要测评的条件,以及条件为真时需要执行的语句(必需的)和条件为假的时候需要执行的语句(可选的)。
R语言提供了以下类型的语句:
if语句
if...else语句
switch语句
switch所选如果不在范围内则返回NULL。