首页 > 其他分享 >第二章 运算符和数学函数

第二章 运算符和数学函数

时间:2023-08-13 09:12:55浏览次数:34  
标签:第二章 函数 true 运算符 pi TRUE 向量

第二章 运算符和数学函数

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

相关文章

  • 第五章 函数和正则
    第五章函数和正则5.1函数5.1.1内置函数5.2.1创建和调用函数定义函数的格式为:函数名<-function(参数列表){​ 函数体​ return返回值}注意:没有显式的“return”关键字声明应该从函数返回哪个值。在R中,函数中计算的最后一个值将自动返回。hypotenuse<-function(x,......
  • 学习go语言编程之函数
    函数定义函数的基本组成:关键字func,函数名,参数列表,返回值,函数体,返回语句。示例如下:funcAdd(aint,bint)(retint,errerror){ ifa<0||b<0{ err=errors.New("shouldbenon-negativenumbers") return } returna+b,nil//支持多重返回值}如果参......
  • 数论函数小计
    1.基础数论函数定义:数论函数,就是值域为整数(陪域为复数)的函数狄利克雷卷积两个数论函数的狄利克雷卷积是一个新的函数比如\(f(n)\),\(g(n)\)它们的卷积就是\(f*g\)怎么卷呢?定义:\(\large{(f*g)(n)=\sum\limits_{d|n}f(n)g(n/d)}\)举个例子:\((f*g)(12)=f(1)*g......
  • 线性筛与欧拉函数
    很萌很可爱!就是把纸质笔记上letex写在这里有亿点慢线性筛埃氏筛,\(O(n\log\logn)\),思路是⌈标记所有质数的倍数⌋这样每个合数可能会被标记好几次,我们改进一下,让每个合数只有一种被标记的方式,即⌈最小质因子*常数⌋具体而言,⌈枚举\(2\tox\)把当前数\(i\)跟......
  • 区间半群查询与 Ackermann 函数
    最近在思考半在线卷积的复杂度有没有可能进一步优化,决定先理清类似的问题以寻求经验.一区间合并如果询问的时候不能进行半群运算,显然我们需要在预处理阶段处理所有答案,必须进行\(O(n^2)\)次计算.二区间合并如果询问的时候可以进行一次半群运算,则可以把序列每次在中......
  • 无涯教程-Perl - package函数
    描述此函数将当前符号表的名称更改为NAME。包名称的范围一直到封闭块的末尾。如果省略NAME,则没有当前包,并且所有函数和变量名称都必须使用其完全限定的名称声明。语法以下是此函数的简单语法-packageNAMEpackage返回值此函数不返回任何值。要了解package关键字,......
  • 无涯教程-Perl - pack函数
    描述此函数对LIST中的表达式求值并将其打包为EXPR指定的二进制结构。使用下表中显示的字符指定格式-每个字符可以可选地跟一个数字,该数字指定要打包的值的类型的重复计数。根据格式,该值是半字节,字符或什至位。*的值重复*,因为LIST中保留了尽可能多的值。可以使用拆包功能将......
  • 无涯教程-Perl - ord函数
    描述此函数返回EXPR指定的字符的ASCII数值,如果省略则返回$_。例如,ord('A')返回值为65。语法以下是此函数的简单语法-ordEXPRord返回值该函数返回整数。例以下是显示其基本用法的示例代码-#!/usr/bin/perl-wprint("ord()",ord('G'),"\n");执行上述代码后......
  • 无涯教程-Perl - my函数
    描述此函数声明LIST中的变量在包围式块内按词法范围。如果指定了多个变量,则所有变量都必须用括号括起来。语法以下是此函数的简单语法-myLIST返回值此函数不返回任何值。例以下是显示其基本用法的示例代码-#!/usr/bin/perl-wmy$string="Wearetheworld";p......
  • 无涯教程-Perl - msgsnd函数
    描述此功能使用可选的FLAGS将消息MSG发送到消息队列ID。语法以下是此函数的简单语法-msgsndID,MSG,FLAGS返回值该函数在错误时返回0,在成功时返回1。参考链接https://www.learnfk.com/perl/perl-msgsnd.html......