暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

《R语言实战》自学笔记24-数学函数

ZJH的学习笔记 2021-09-26
284

数据准备

df <- read.table(file = "D:/Documents/R wd/df.csv", header = T, sep = ",", colClasses = c(year = "character", nitrogen = "character", variety = "character", block = "character")) # 数据导入。
df # 查看数据。

复制
##    year nitrogen variety block   v1   v2  v3   v4
## 1 2020 N1 a 1 1.26 2.14 3.4 4.66
## 2 2020 N1 a 2 1.20 2.90 4.1 5.30
## 3 2020 N1 a 3 1.30 3.00 4.3 5.60
## 4 2020 N1 b 1 1.08 1.72 2.8 3.88
## 5 2020 N1 b 2 1.05 1.65 2.7 3.75
## 6 2020 N1 b 3 1.15 1.35 2.5 3.65
## 7 2020 N2 a 1 1.32 3.78 5.1 6.42
## 8 2020 N2 a 2 1.28 4.32 5.6 6.88
## 9 2020 N2 a 3 1.35 3.95 5.3 6.65
## 10 2020 N2 b 1 1.33 3.47 4.8 6.13
## 11 2020 N2 b 2 1.28 2.72 4.0 5.28
## 12 2020 N2 b 3 1.30 3.90 5.2 6.50
## 13 2021 N1 a 1 1.19 3.61 4.8 5.99
## 14 2021 N1 a 2 1.21 3.29 4.5 5.71
## 15 2021 N1 a 3 1.24 3.26 4.5 5.74
## 16 2021 N1 b 1 1.09 2.71 3.8 4.89
## 17 2021 N1 b 2 1.28 2.32 3.6 4.88
## 18 2021 N1 b 3 1.35 1.95 3.3 4.65
## 19 2021 N2 a 1 1.45 4.35 5.8 7.25
## 20 2021 N2 a 2 1.40 3.80 5.2 6.60
## 21 2021 N2 a 3 1.37 4.23 5.6 6.97
## 22 2021 N2 b 1 1.28 2.72 4.0 5.28
## 23 2021 N2 b 2 1.15 3.35 4.5 5.65
## 24 2021 N2 b 3 1.24 3.46 4.7 5.94

复制

第5章 高级数据管理

5.1 一个数据处理难题

5.2 数值和字符处理函数

5.2.1 数学函数

1、常见数学函数
常见数学函数运算。函数可以按照自己的需求进行套用。

abs(-5) # 返回绝对值。
复制
## [1] 5
复制
sqrt(5) # 返回平方根。
复制
## [1] 2.236068
复制
ceiling(c(0.78, 1.56, 3.58)) # 返回数据最小整数。
复制
## [1] 1 2 4
复制
floor(c(0.78, 1.56, 3.58)) # 返回数据最大整数。
复制
## [1] 0 1 3
复制
trunc(c(0.78, 1.56, 3.58)) # 向0的方向截取的整数部分。
复制
## [1] 0 1 3
复制
round(c(0.78, 1.56, 3.58), digits = 1) # 将数据舍入为1位小数。
复制
## [1] 0.8 1.6 3.6
复制
signif(c(0.78, 1.56, 3.58), digits = 1) # 将数据舍入为1的有效数字位数。
复制
## [1] 0.8 2.0 4.0
复制
log(5,2) # 对5取以2为底的对数。
复制
## [1] 2.321928
复制
log(10) # 自然对数。
复制
## [1] 2.302585
复制
log10(10) # 常用对数。
复制
## [1] 1
复制
exp(10) # 指数函数。
复制
## [1] 22026.47
复制
which.max(c(1, 5, 8, 2, 4, 3)) # 返回数据最大值元素的下标。
复制
## [1] 3
复制
which.min(c(1, 5, 8, 2, 4, 3)) # 返回数据最小值元素的下标。
复制
## [1] 1
复制
rev(c(1, 5, 8, 2, 4, 3)) # 将数据集数据逆序排列。
复制
## [1] 3 4 2 8 5 1
复制
sort(c(1, 5, 8, 2, 4, 3)) # 将数据集数据升序排列。
复制
## [1] 1 2 3 4 5 8
复制
cumsum(c(1, 5, 8, 2, 4, 3)) # 累积求和。返回一个向量,第i个元素是从1到i的和。
复制
## [1]  1  6 14 16 20 23
复制
cumprod(c(1, 5, 8, 2, 4, 3)) # 累积乘积。
复制
## [1]   1   5  40  80 320 960
复制
match(c(1, 5, 8, 2, 4, 3), c(1, 2, 3, 4)) # 返回一个和x的长度相同的向量,表示x中与y中元素相同的元素在y中的位置(没有则返回NA)。
复制
## [1]  1 NA NA  2  4  3
复制
which(df$v1 < 1.2) # which(x)返回一个包含x符合条件(当比较运算结果为真(TRUE)的下标的向量。
复制
## [1]  4  5  6 13 16 23
复制
table(c(1, 5, 8, 2, 4, 3, 2, 3, 2)) # 返回一个表格,给出y中重复元素的个数列表。
复制
## 
## 1 2 3 4 5 8
## 1 3 2 1 1 1

复制
union(c(1, 5, 8, 2, 4, 3),c(1, 2, 3, 4)) # 求两个向量的并集。
复制
## [1] 1 5 8 2 4 3
复制
intersect(c(1, 5, 8, 2, 4, 3),c(1, 2, 3, 4)) # 求两个向量的交集。
复制
## [1] 1 2 4 3
复制
setdiff(c(1, 5, 8, 2, 4, 3),c(1, 2, 3, 4)) # 返回两个向量中的不同元素。
复制
## [1] 5 8
复制
setequal(c(1, 5, 8, 2, 4, 3),c(1, 2, 3, 4)) # 判断两个数据集是否相等。
复制
## [1] FALSE
复制
format(200000,scientific = TRUE) # 把数据转换为科学计数。本例中将200000转换为科学计数。
复制
## [1] "2e+05"
复制

当这些函数被应用于数值向量、矩阵或数据框时,它们会作用于每一个独立的值。

round(df$v1, digits = 1) # 对数据集df中v1列数据保留1位小数。
复制
##  [1] 1.3 1.2 1.3 1.1 1.0 1.1 1.3 1.3 1.4 1.3 1.3 1.3 1.2 1.2 1.2 1.1 1.3 1.4 1.4
## [20] 1.4 1.4 1.3 1.1 1.2

复制
log(df$v1) # 对数据集df中v1列数值取自然对数。
复制
##  [1] 0.23111172 0.18232156 0.26236426 0.07696104 0.04879016 0.13976194
## [7] 0.27763174 0.24686008 0.30010459 0.28517894 0.24686008 0.26236426
## [13] 0.17395331 0.19062036 0.21511138 0.08617770 0.24686008 0.30010459
## [19] 0.37156356 0.33647224 0.31481074 0.24686008 0.13976194 0.21511138

复制

2、运算符
2.1 关系运算符

a <- 1:10 # 显示向量a
a < 5 # < 小于。

复制
##  [1]  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
复制
a > 5 # > 大于。
复制
##  [1] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
复制
a <= 5 # <=小于等于。
复制
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE
复制
a >= 5 # >=大于等于。
复制
##  [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
复制
3 == 5 # == 等于,也可判断是否相等。
复制
## [1] FALSE
复制
3 != 5 # ! 不等于。
复制
## [1] TRUE
复制

2.2 算术运算符

a + 2 # 加。
复制
##  [1]  3  4  5  6  7  8  9 10 11 12
复制
a - 2 # 减。
复制
##  [1] -1  0  1  2  3  4  5  6  7  8
复制
a * 2 # 乘。
复制
##  [1]  2  4  6  8 10 12 14 16 18 20
复制
a  2 # 除。
复制
##  [1] 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
复制
a^2 # ^或** 乘方,求幂值。2的2次方。
复制
##  [1]   1   4   9  16  25  36  49  64  81 100
复制
10 %% 3 # A%%B 求余数。
复制
## [1] 1
复制
10 %/% 3 # A%/%B 整数除法。
复制
## [1] 3
复制

2.3 逻辑运算符

a[a<3 | a>6] # | 或,比较两个向量的所有元素。
复制
## [1]  1  2  7  8  9 10
复制
a[a<3 & a>6] # & 与。
复制
## integer(0)
复制
a && a+2 # 比较两个向量的第一个元素。a中的第一个元素是1,a+2中的第1个元素是3。
复制
## [1] TRUE
复制
sign(-1) # sign判断正负。
复制
## [1] -1
复制

2.4 其他运算符

2:8 # :冒号运算符。它为向量按顺序创建一系列数字。
复制
## [1] 2 3 4 5 6 7 8
复制
a <- c(1:10) # <- 赋值。
8 %in% a # 判断元素是否属于向量。

复制
## [1] TRUE
复制

参考资料:
1. 《R语言实战》(中文版),人民邮电出版社,2013.
2. R语言常用数学函数,https://blog.csdn.net/qq_35242986/article/details/72956755 3. R语言中的数学运算-最全总结+解惑,https://blog.csdn.net/qq_38984677/article/details/81170499

- END -


文章转载自ZJH的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论