R语言基础语法、基础运算和函数

下列代码中详细展示了R语言的基础语法和算术运算符,关系运算符,逻辑运算符和一些基础的数学函数

数学运算符

下表列出了主要的数学运算符以及他们的运算顺序:

优先级

符号

含义

1

()

括号

2

^

乘方运算

3

%%

整除求余

%/%

整除

4

*

乘法

/

除法

5

+

加法

-

减法

关系运算符

下表列出了 R 语言支持的关系运算符,关系运算符比较两个向量,将第一向量与第二向量的每个元素进行比较,结果返回一个布尔值。

运算符

描述

>

判断第一个向量的每个元素是否大于第二个向量的相对应元素。

<

判断第一个向量的每个元素是否小于第二个向量的相对应元素。

==

判断第一个向量的每个元素是否等于第二个向量的相对应元素。

!=

判断第一个向量的每个元素是否不等于第二个向量的相对应元素。

>=

判断第一个向量的每个元素是否大于等于第二个向量的相对应元素。

<=

判断第一个向量的每个元素是否小于等于第二个向量的相对应元素。

逻辑运算符

下表列出了 R 语言支持的逻辑运算符,可用于数字、逻辑和复数类型的向量。

大于 1 的数字都为 TRUE。

逻辑运算符比较两个向量,将第一向量与第二向量的每个元素进行比较,结果返回一个布尔值。

运算符

描述

&

元素逻辑与运算符,将第一个向量的每个元素与第二个向量的相对应元素进行组合,如果两个元素都为 TRUE,则结果为 TRUE,否则为 FALSE。


元素逻辑或运算符,将第一个向量的每个元素与第二个向量的相对应元素进行组合,如果两个元素中有一个为 TRUE,则结果为 TRUE,如果都为 FALSE,则返回 FALSE。

!

逻辑非运算符,返回向量每个元素相反的逻辑值,如果元素为 TRUE 则返回 FALSE,如果元素为 FALSE 则返回 TRUE。

&&

逻辑与运算符,只对两个向量对第一个元素进行判断,如果两个元素都为 TRUE,则结果为 TRUE,否则为 FALSE。

||

逻辑或运算符,只对两个向量对第一个元素进行判断,如果两个元素中有一个为 TRUE,则结果为 TRUE,如果都为 FALSE,则返回 FALSE。

赋值运算符

R 语言变量可以使用向左,向右或等于操作符来赋值。

下表列出了 R 语言支持的赋值运算符。

运算符

描述

<− = <<−

向左赋值。

−> −> >

向右赋值。

实例

#赋值 <-  ->  =
x <- 1
x1 = 1
1 -> x2
x3 <- x1+x2


#输出 print()函数
hello <- "hello world"
print(hello)
print(123)


#工作目录
  # getwd()获取当前工作目录
  # setwd()设置当前工作目录
print(getwd())
setwd("D:/Documents")
print(getwd())


#R语言的数学运算
a <- 1
b <- 5
print(a+b)#加法
print(b-a)#减法
c <- 8
d <- 2
e <- 5
print(c^d)#乘方
print(c*d)#乘法
print(c/e)#除法
print(c%/%e)#整除
print(c%%e)#整除取余


#R语言的关系运算
g <- c(2,4,6,9)
h <- c(1,4,7,9)
print(g>h)#判断第一个向量的每个元素是否大于第二个向量的相对应元素。
print(g<h)#判断第一个向量的每个元素是否小于第二个向量的相对应元素。
print(g == h)#判断第一个向量的每个元素是否等于第二个向量的相对应元素。
print(g!=h)#判断第一个向量的每个元素是否不等于第二个向量的相对应元素。
print(g>=h)#判断第一个向量的每个元素是否大于等于第二个向量的相对应元素。
print(g<=h)#判断第一个向量的每个元素是否小于等于第二个向量的相对应元素。


#R语言的逻辑运算
i <- c(3,1,TRUE,2+3i)
j <- c(4,1,FALSE,2+3i)

print(i&j)
print(i|j)
print(!i)
# &&、||只对第一个元素进行比较
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)


#R语言的数学函数
print(sqrt(4))#sqrt(n) n的平方根
print(exp(1))#exp(n) 自然常数e的n次方
print(log(2,4))#log(m,n) m的对数函数,返回n的几次方等于m
print(log10(1000))#相当于log(m,10)
#取整函数
print(round(3.5))#round(n) 对n四舍五入取整
print(round(4.5))#R中的 round 函数有些情况下可能会"舍掉五",当取整位是偶数的时候,五也会被舍去
print(round(4.55514,3))#round(n,m)对n保留m位小数四舍五入
print(ceiling(5.1))#ceiling(n) 对n向上取整
print(floor(6.6))#floor(n) 对n向下取整
#三角函数
print(sin(pi/6))#sin(n)正弦函数
print(cos(pi/3))#cos(n)余弦函数
print(tan(pi/4))#tan(n)正切函数

运行结果如下

> #赋值 <-  ->  =
> x <- 1
> x1 = 1
> 1 -> x2
> x3 <- x1+x2
> 
> 
> #输出 print()函数
> hello <- "hello world"
> print(hello)
[1] "hello world"
> print(123)
[1] 123
> 
> 
> #工作目录
>   # getwd()获取当前工作目录
>   # setwd()设置当前工作目录
> print(getwd())
[1] "D:/Documents"
> setwd("D:/新建文件夹")
> print(getwd())
[1] "D:/新建文件夹"
> 
> 
> #R语言的数学运算
> a <- 1
> b <- 5
> print(a+b)#加法
[1] 6
> print(b-a)#减法
[1] 4
> c <- 8
> d <- 2
> e <- 5
> print(c^d)#乘方
[1] 64
> print(c*d)#乘法
[1] 16
> print(c/e)#除法
[1] 1.6
> print(c%/%e)#整除
[1] 1
> print(c%%e)#整除取余
[1] 3
> 
> 
> #R语言的关系运算
> g <- c(2,4,6,9)
> h <- c(1,4,7,9)
> print(g>h)#判断第一个向量的每个元素是否大于第二个向量的相对应元素。
[1]  TRUE FALSE FALSE FALSE
> print(g<h)#判断第一个向量的每个元素是否小于第二个向量的相对应元素。
[1] FALSE FALSE  TRUE FALSE
> print(g == h)#判断第一个向量的每个元素是否等于第二个向量的相对应元素。
[1] FALSE  TRUE FALSE  TRUE
> print(g!=h)#判断第一个向量的每个元素是否不等于第二个向量的相对应元素。
[1]  TRUE FALSE  TRUE FALSE
> print(g>=h)#判断第一个向量的每个元素是否大于等于第二个向量的相对应元素。
[1]  TRUE  TRUE FALSE  TRUE
> print(g<=h)#判断第一个向量的每个元素是否小于等于第二个向量的相对应元素。
[1] FALSE  TRUE  TRUE  TRUE
> 
> 
> #R语言的逻辑运算
> i <- c(3,1,TRUE,2+3i)
> j <- c(4,1,FALSE,2+3i)
> 
> print(i&j)
[1]  TRUE  TRUE FALSE  TRUE
> print(i|j)
[1] TRUE TRUE TRUE TRUE
> print(!i)
[1] FALSE FALSE FALSE FALSE
> # &&、||只对第一个元素进行比较
> v <- c(3,0,TRUE,2+2i)
> t <- c(1,3,TRUE,2+3i)
> print(v&&t)
[1] TRUE
> 
> v <- c(0,0,TRUE,2+2i)
> t <- c(0,3,TRUE,2+3i)
> print(v||t)
[1] FALSE
> 
> 
> #R语言的数学函数
> print(sqrt(4))#sqrt(n) n的平方根
[1] 2
> print(exp(1))#exp(n) 自然常数e的n次方
[1] 2.718282
> print(log(2,4))#log(m,n) m的对数函数,返回n的几次方等于m
[1] 0.5
> print(log10(1000))#相当于log(m,10)
[1] 3
> #取整函数
> print(round(3.5))#round(n) 对n四舍五入取整
[1] 4
> print(round(4.5))#R中的 round 函数有些情况下可能会"舍掉五",当取整位是偶数的时候,五也会被舍去
[1] 4
> print(round(4.55514,3))#round(n,m)对n保留m位小数四舍五入
[1] 4.555
> print(ceiling(5.1))#ceiling(n) 对n向上取整
[1] 6
> print(floor(6.6))#floor(n) 对n向下取整
[1] 6
> #三角函数
> print(sin(pi/6))#sin(n)正弦函数
[1] 0.5
> print(cos(pi/3))#cos(n)余弦函数
[1] 0.5
> print(tan(pi/4))#tan(n)正切函数