第二章 运算符和数学函数
2.1 数学运算符
: | 创建序列(两头都会包含) | > x <- 2:4 > x [1] 2 3 4 |
---|---|---|
+ | 加 | > 1+1 [1] 2 |
- | 减 | > 2-1 [1] 1 |
* | 乘 | > 1*2 [1] 2 |
/ | 浮点数除法 | > 3/2 [1] 1.5 |
%/% | 整数除法 | > 3%/%2 [1] 1 |
%% | 余数 | > 3%%2 [1] 1 |
^或** | 求幂 | > 2^2 [1] 4 > 2**2 [1] 4 |
2.2数值运算函数
2.2.1数学函数
sin(x) | 正弦 | > sin(pi/6) [1] 0.4997701 |
---|---|---|
cos(x) | 余弦 | > cos(pi/6) [1] 0.8661581 |
tan(x) | 正切 | > tan(pi/6) [1] 0.5769964 |
asin(x) | 正割 | > asin(pi/6) [1] 0.550758 |
acos(x) | 余割 | > acos(pi/6) [1] 1.020038 |
atanx) | 余切 | > atan(pi/6) [1] 0.4821396 |
log(x,base=n) | 对数 | > log(10,10) [1] 1 等同于 > log10(10) [1] 1 |
exp(x) | 指数 | exp(pi * 1i) + 1 [1] 1.268e-06+1.592653e-03i |
abs(x) | 绝对值 | > abs(-2) [1] 2 |
sqrt(x) | 平方根 | > sqrt(6.25) [1] 2.5 |
ceiling(x) | 不小于x的最小整数 | > ceiling(1.2) [1] 2 |
floor(x) | 不大于x的最大整数 | > floor(1.8) [1] 1 |
trunc(x) | 向0的方向截取x中的整数部分 | > trunc(1.5) [1] 1 |
round(x,digits=n) | 将x舍入为指定位的小数 | > round(3.1415926535,5) [1] 3.14159 |
signif(x,digits=n) | 将x舍入为指定的有效数字位数 | > signif(3.1415926535,5) [1] 3.1416 |
2.2.2统计函数
mean(x) | 平均数 | |
---|---|---|
median(x) | 中位数 | |
sd(x) | 标准差 | |
var(x) | 方差 | |
mad(x) | 平均绝对偏差 | |
cov(x,y) | 协方差系数 | |
cor(x,y) | 相关系数 | |
length(x) | 求x中包含的元素个数 | |
cumsum(x) | 求x的累计和 | |
cumprod(x) | 求x的累积乘积 | |
quantile(x,probs) | 求分位数。其中x为待求分位数的数值型向量,probs为一个由[0,1]之间的概率值组成的数值向量 | |
cut(x,n) | 依据x的最小值和最大值将x分成n组,并给x各元素所在的组 | |
scale(x) | 对x做标准化处理(各元素减其均值除以其标准差) | |
rank(x) | 计算x的秩(升序排序的名次,同名次时求平均) | |
rnorm(n,mean,sd) | 产生n个平均值为mean,标准差为sd的随机数 | |
set.seed(n) | 生成n个随机数种子 | |
range(x) | 求值域 | |
sum(x) | 求和 | |
rowSums(matrix) | 按行求和 | |
colSums(matrix) | 按列求和 | |
min(x) | 求最小值 | |
max(x) | 求最大值 | |
pmin(x1,x2...) | 能计算相同长度的若干向量中在相同位置的最小值 | |
pmax(x1,x2...) | 能计算相同长度的若干向量中在相同位置的最大值 | |
cummin(x) | 计算向量中的最小值 | |
cummax(x) | 计算向量中的最大值 | |
cumsum(x) | 能计算数据中的累加 | |
cumprod(x) | 能计算数据中的累乘 | |
quantile(x) | 它默认 计算中位数、最小值、最大值和上下四分位数。第二参数还可以指定百分位比 | |
IQR(x) | 直接计算出四分位差(第 75 百分位减去第 25 个百分位) | |
fivenum(x) | 获取数据的五个数字摘要(最小值,下四分位数,中位数,上四分位数,最大值),是对quantile作的大量简化 | |
summary(x) | 能够一次完成多项统计计算 | |
cor(x1,x2...) | 计算数值向量之间的相关性 | |
diff(x, lag=n) | 滞后差分,lag指明滞后几项,默认的 lag值为1 | |
scale(x, center = TRUE, scale=TRUE) | 为数据对象x按列进行中心化 (center=TRUE)或者标准化 (center=TRUE, scale=TRUE) | |
table(x) | 计算每个不同值的个数,称为频数 | |
2.2.3概率函数
分布名称 | 缩写 | 分布的参数名称及默认值 |
---|---|---|
Beta分布 | beta | shape1,shape2 |
Logistic分布 | logis | location=0,scale=1 |
二项分布 | binom | size,prob |
多项分布 | multinom | size,prob |
柯西分布 | cauchy | location=0,scale=1 |
负二项分布 | nbinom | size,prob |
(非中心)卡方分布 | chisq | df |
正态分布 | norm | mean=0,sd=1 |
指数分布 | exp | rate=1 |
松分布 | pois | lambda |
F分布 | f | df1,df2 |
Gamma分布 | gamma | t |
几何分布 | geom | unif |
超几何分布 | hyper | weibull |
对数正态分布 | lnorm | wilcox |
2.2.4分布函数和分位数函数
dnorm | 标准正态分布密度函数 | > dnorm(1.98) [1] 0.05618314 |
---|---|---|
pnorm | 标准正态分布函数 | > pnorm(1.98) [1] 0.9761482 |
qnorm | 标准正态分布分位数函数 | > qnorm(0.975) [1] 1.959964 |
qt | 表示自由度为df 的t分布的分位数函数 |
> qt(1 - 0.05/2, 10) [1] 2.228139 |
2.3比较运算符:
== | 比较整数值是否相等 |
---|---|
all.equal | 比较两个数字是否相等 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
> 1 == 2
[1] FALSE
> all.equal(sqrt(2) ^ 2, 2)
[1] TRUE
> 1 != 2
[1] TRUE
> 2 > 1
[1] TRUE
> 2 < 1
[1] FALSE
> 2 >= 1
[1] TRUE
> 2 <= 1
[1] FALSE
2.4变量赋值
<-和=都可以,<-是首选
<<-全局变量赋值,用比较少
另一个变量赋值的方法是通过 assign 函数赋值。这种情况不太常,再加上globalenv()参数即全局赋值
> x <- 2
> x
[1] 2
> y = 3
> y
[1] 3
> z <<- 4
> z
[1] 4
> assign("a", 1)
> a
[1] 1
> assign("b", 6, globalenv())
> b
[1] 6
2.5特殊数字
Inf | 正无穷 |
---|---|
-Inf | 负无穷 |
NaN | “不是一个数”(not-a-number)的缩写,它意味着 我们的计算或没有数学意义,或无法正确执行 |
NA | “不可用”(not available)的缩写, 并不代表缺失值 |
2.6逻辑向量
逻辑运算符
! | 非 |
---|---|
& | 元素逻辑与运算符。它将第一个向量的每个元素与第二个向量的相应位置的元素相结合,如果两个元素都为真,则输出为TRUE |
| | 元素逻辑或运算符。它将第一个向量的每个元素与第二个向量的相应位置的元素相结合,如果两个元素中有一个为真,则输出为TRUE |
&& | 取两个向量的第一个元素,并且只有在两个都为TRUE时结果才为TRUE值 |
|| | 取两个向量的第一个元素,并且如果有一个为TRUE时,结果为TRUE值 |
另外2个处理逻辑向量的函数 any和all,如果输入向量中至少包含一个TRUE的值或者只包含TRUE值,则分别返回TRUE
> none_true <- c(FALSE, FALSE, FALSE)
> some_true <- c(FALSE, TRUE, FALSE)
> all_true <- c(TRUE, TRUE, TRUE)
> any(none_true)
[1] FALSE
> any(some_true)
[1] TRUE
> any(all_true)
[1] TRUE
> all(none_true)
[1] FALSE
> all(some_true)
[1] FALSE
> all(all_true)
[1] TRUE
2.7输出
2.7.1简单输出
在用source()
运行程序文件时, 需要用print()
函数显示一个表达式的结果
> print(sin(pi/2))
[1] 0.9999997
用cat()
函数显示多项内容, 包括数值和文本, 文本包在两个单撇号或两个双撇号中
> cat("sin(pi/2)=", sin(pi/2), "\n")
sin(pi/2)= 0.9999997
cat()
函数最后一项一般是"\n"
, 表示换行。 忽略此项将不换行。
2.7.2用sink()
函数作运行记录
用sink()
函数打开一个文本文件开始记录文本型输出结果。 结束记录时用空的sink()
即可关闭文件不再记录。
sink("tmpres01.txt", split=TRUE)
print(sin(pi/6))
print(cos(pi/6))
cat("t(10)的双侧0.05分位数(临界值)=", qt(1 - 0.05/2, 10), "\n")
sink()
标签:第二章,函数,true,运算符,pi,TRUE,向量
From: https://www.cnblogs.com/simpleness/p/17626109.html