目录
一、常量与变量
1.常量
2.变量
二、数据类型
三、数值型向量
3.1 c() 函数
3.2 length(x)
3.3 numeric()
四、向量运算
1.标量和标量运算
2.向量与标量运算
3.等长向量运算
4.不等长向量的运算
五、向量函数
1.向量化的函数
2.排序函数
3.统计函数
4.生成规则序列的函数
六、 复数向量
练习
一、常量与变量
1.常量
复数常量写法如 2.2 + 3.5i, 1i 等。
2.变量
x5 <- 6.25
x6 = sqrt(x5)
二、数据类型
三、数值型向量
3.1 c() 函数
marks <- c(10, 6, 4, 7, 8)
marks
返回:
再如:
x <- c(1:3, 10:13)
x
返回:
再如:
x1 <- c(1, 2)
x2 <- c(3, 4)
x <- c(x1, x2)
x
返回:
3.2 length(x)
length(x) 可以求 x 的长度
x <- c(1:3, 10:13)
length(x)
返回:
3.3 numeric()
numeric() 函数可以用来初始化一个指定元素个数而元素都等于零的数值型向量,如 numeric(10) 会生成元素为 10 个零的向量,长度为零的向量表示为 numeric(0)。
numeric(10)
返回:
四、向量运算
1.标量和标量运算
1.5 + 2.3 - 0.6 + 2.1*1.2 - 1.5/0.5 + 2^3
## [1] 10.72
返回:
1.5 + 2.3 - (0.6 + 2.1)*1.2 - 1.5/0.5 + 2^3
## [1] 5.56
5 %/% 3
## [1] 1
5 %% 3
## [1] 2
返回:
2.向量与标量运算
x <- c(1, 10) x + 2
## [1] 3 12
x - 2
## [1] -1 8
x * 2
## [1] 2 20
x / 2
## [1] 0.5 5.0
x ^ 2
## [1] 1 100
2 / x
## [1] 2.0 0.2
2 ^ x
## [1] 2 1024
x %% 2
##[1] 1 0
x %/% 2
##[1] 0 5
返回:
c(1, NA, 3) + 10
返回:
3.等长向量运算
等长向量的运算为对应元素两两运算。如
x1 <- c(1, 10)
x2 <- c(4, 2)
x1 + x2
返回:
同样也可以进行减,乘,除;如
x1 - x2
## [1] -3 8
x1 * x2
## [1] 4 20
x1 / x2
## [1] 0.25 5.00
4.不等长向量的运算
x1 <- c(10, 20)
x2 <- c(1, 3, 5, 7)
x1 + x2
返回:
c(1,2) + c(1,2,3)
返回:
五、向量函数
1.向量化的函数
sqrt(c(1, 4, 6.25))
返回:
常用的数学函数有:• 舍入:ceiling, floor, round, signif, trunc, zapsmall• 符号函数 sign• 绝对值 abs• 平方根 sqrt• 对数与指数函数 log, exp, log10, log2• 三角函数 sin, cos, tan• 反三角函数 asin, acos, atan, atan2• 双曲函数 sinh, cosh, tanh• 反双曲函数 asinh, acosh, atanh
有一些不太常用的数学函数:• 贝塔函数 beta, lbeta• 伽 玛 函 数 gamma, lgamma, digamma, trigamma, tetragamma, pentagamma• 组合数 choose, lchoose• 富利叶变换和卷积 fft, mvfft, convolve• 正交多项式 poly• 求根 polyroot, uniroot• 最优化 optimize, optim• Bessel 函数 besselI, besselK, besselJ, besselY• 样条插值 spline, splinefun• 简单的微分 deriv
2.排序函数
x <- c(33, 55, 11)
sort(x)
## [1] 11 33 55
rev(sort(x))
## [1] 55 33 11
order(x)
## [1] 3 1 2
x[order(x)]
## [1] 11 33 55
返回:
3.统计函数
cumsum(1:5)
返回:
cumprod(1:5)
返回:
其它一些类似函数有 pmax, pmin, cummax, cummin 等。
4.生成规则序列的函数
seq(5)
seq(2,5)
seq(11, 15, by=2)
#产生从 0 到 2π 的等间隔序列,序列长度指定为 100
seq(0, 2*pi, length.out=100)
返回:
在使用变量名时次序可以颠倒,比如
seq(to=5, from=2)
返回:
rep() 函数用来产生重复数值。
rep(c(1,3), 2)
返回:
再比如:
rep(c(1,3), c(2,4))
如 果 希 望 重 复 完 一 个 元 素 后 再 重 复 另 一 元 素, 用 each= 选 项, 比 如
rep(c(1,3), each=2)
返回:
六、 复数向量
complex(c(1,0,-1,0), c(0,1,0,-1))
返回:
在 complex() 中可以用 mod 和 arg 指定模和辐角,如
complex(mod=1,arg=(0:3)/2*pi)
返回:
sqrt(-1)
sqrt(-1 + 0i)
返回:
练习
1. 显示 1 到 100 的整数的平方根和立方根(提示:立方根就是三分之一次 方)。
2. 设有 10 个人的小测验成绩为:
77 60 91 73 85 82 35 100 66 75
(1) 把这 10 个成绩存入变量 x;
(2) 从小到大排序;
(3) 计算 order(x),解释 order(x) 结果中第 3 项代表的意义。
(4) 计算这些成绩的平均值、标准差、最小值、最大值、中位数。
3. 生成 [0, 1] 区间上等间隔的 100 个格子点存入变量 x 中。