【R语言】2.注释&基础运算

注释

单行注释

井号 #

r 复制代码
# 单行注释

多行注释

r 复制代码
if(FALSE) {
    "
    这是一个多行注释的实例
    注释内容放在单引号或双引号之间
    "
}

这里的FALSE永远不会走进去,所以字符串刚好可以当做注释用。估计大家都喜欢用#号吗?谁愿意多敲这几个字符呢

好奇if TRUE会打印什么,打一个看看。

r 复制代码
# 单行注释


# 多行注释
if(FALSE) {
    "
    这是一个多行注释的实例
    注释内容放在单引号或双引号之间
    "
}

if(TRUE) {
    "
    TRUE
    "
}

TRUE的时候,单纯的打印了字符串。

基础运算

赋值运算符

向左赋值 <- = <<-

r 复制代码
v1 <- c(3,1,TRUE,"阿月浑子の")
v2 <<- c(3,1,TRUE,"阿月浑子の")
v3 = c(3,1,TRUE,"阿月浑子の")
print(v1)
print(v2)
print(v3)

向右赋值 -> ->>

r 复制代码
# 向右赋值
c(3,1,TRUE,"阿月浑子の") -> v1
c(3,1,TRUE,"阿月浑子の") ->> v2
print(v1)
print(v2)

向右赋值和向左赋值类似,只不过变量在左,就叫左赋值;变量在右,就叫右赋值。

例外,这里的c是conbine的缩写,c(3,1,TRUE,"阿月浑子の")这个可以理解为一个向量,组合在一起这样。

数学运算符

按优先级从高到低

(1)括号

(2)乘方运算 ^

(3)整除求余 %% 和 整除 %/%

(4)乘* 除/

(5)加+ 减-

r 复制代码
1+2*3
(1+2)*3
3/4
3.4-1.2
1-4*0.5^3
5^2
8/3 %% 2 # 8/(3%%2)=8/1=8
8/4 %% 2 # 8/(4%%2)=8/0=Inf 正无穷
10 %% 3  
10 %/% 3

运行结果:

关系运算符

r 复制代码
v = c(2,4,6,9) # 这里的c是combine合并的缩写,表示将多个值合并成一个向量
t = c(1,4,7,9)
v>t
v<t
v==t
v!=t
v>=t
v<=t
# [1]  TRUE FALSE FALSE FALSE
# [1] FALSE FALSE  TRUE FALSE
# [1] FALSE  TRUE FALSE  TRUE
# [1]  TRUE FALSE  TRUE FALSE
# [1]  TRUE  TRUE FALSE  TRUE
# [1] FALSE  TRUE  TRUE  TRUE

逻辑运算符

& | ! 元素与或非

r 复制代码
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)
print(v|t)
print(!v)
# [1]  TRUE  TRUE FALSE  TRUE
# [1] TRUE TRUE TRUE TRUE
# [1] FALSE FALSE FALSE FALSE

&&逻辑与 ||逻辑或

r 复制代码
# &&、||只对第一个元素进行比较
print(1 && 2==0)  # FALSE
print(1 || 2==0)  # TRUE

其他运算符

冒号运算符:

r 复制代码
v <- 1:10
print(v)

输出:

类似于python中的

python 复制代码
[i for i in range(1,11)]

%in% 判断元素是否在向量里

r 复制代码
# 1 到 10 的向量
v <- 1:10
print(v)

# 判断数字是否在向量 v 中
v1 <- 3
v2 <- 15
print(v1 %in% v) # TRUE
print(v2 %in% v) # FALSE
print(c(1,11,33) %in% v) # TRUE FALSE FALSE

类似于python的in,不过R语言可以判断一个向量的所有元素在不在另一个向量中。

%*% 用于矩阵与矩阵相乘

r 复制代码
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)


数学函数

sqrt(n):n的平方根

r 复制代码
sqrt(9)  # 3

exp(n):e的n次方

r 复制代码
exp(1)  # e=2.718282

对数函数log

log(m,n) m的对数函数,返回n的几次方等于m
log10(m) 相当于log(m,10)

r 复制代码
log(2,4) # 0.5
log10(10000) # 4

取整函数

round(n):对n四舍五入取整
round(n, m):对n保留m位小数四舍五入
ceiling(n):对n向上取整
floor(n)对n向下取整

r 复制代码
round(1.5)
round(2.5)
round(3.5)
round(4.5)
# [1] 2
# [1] 2
# [1] 4
# [1] 4
# 当取整位是偶数的时候,五也会被舍去,这一点与 C 语言有所不同。
round(1.5234,2)
round(2.51345,4)
round(2.51335,4)
# [1] 1.52
# [1] 2.5135
# [1] 2.5134

三角函数和反三角函数

R的三角函数是弧度制

r 复制代码
# R的三角函数是弧度制
sin(pi/6) 
cos(pi/4)
tan(pi/3)
# [1] 0.5
# [1] 0.7071068
# [1] 1.732051

# 反三角函数
asin(0.5)
acos(0.7071068)
atan(1.732051)
# [1] 0.5235988
# [1] 0.7853981
# [1] 1.047198

概率分布函数

r 复制代码
dnorm(0) # 概率密度函数f(x)
pnorm(0) #概率密度积分函数(从无限小到x的积分)F(x)
qnorm(0.95) # 分位数函数
rnorm(3,5,2) # 随机数函数:产生3个平均值为5,标准差为2的正态随机数
# [1] 0.3989423
# [1] 0.5
# [1] 1.644854
# [1] 5.474243 5.103539 4.892618
相关推荐
2501_9333295510 分钟前
Infoseek数字公关AI中台技术解析:如何构建企业级舆情监测与智能处置系统
开发语言·人工智能
m0_7066532310 分钟前
基于C++的爬虫框架
开发语言·c++·算法
梵刹古音11 分钟前
【C语言】 数据类型的分类
c语言·开发语言
diediedei17 分钟前
嵌入式数据库C++集成
开发语言·c++·算法
xie0510_19 分钟前
string模拟实现
开发语言·c++·算法
FAFU_kyp25 分钟前
RISC0_ZERO项目在macOs上生成链上证明避坑
开发语言·后端·学习·macos·rust
萧曵 丶42 分钟前
JavaScript 函数各种写法和场景
开发语言·javascript·ecmascript
雪域迷影43 分钟前
C++17中使用inline修饰类的静态成员变量
开发语言·c++·inline static·类静态成员变量
星火开发设计44 分钟前
共用体 union:节省内存的特殊数据类型
java·开发语言·数据库·c++·算法·内存
仰望星空_Star1 小时前
Java证书操作
java·开发语言