《R语言的数学基础共35页文档.doc》由会员分享,可在线阅读,更多相关《R语言的数学基础共35页文档.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流R语言的数学基础【精品文档】第 35 页目录1. 基本计算2. 三角函数计算3. 复数计算4. 方程计算1 基本计算四则运算: 加减乘除, 余数, 整除, 绝对值, 判断正负 a-10;b a+b;a-b;a*b;a/b1 151 51 501 2# 余数,整除 a%b;a%/%b1 01 2# 绝对值 abs(-a)1 10# 判断正负 sign(-2:3)1 -1 -1 0 1 1 1数学计算: 幂, 自然常用e的幂, 平方根, 对数 a-10;b-5;c cb;c-b;c(b/10)1 10241 0.00097656251 2# 自然常数e ex
2、p(1)1 2.718282# 自然常数e的幂 exp(3)1 20.08554# 平方根 sqrt(c)1 2# 以2为底的对数 log2(c)1 2# 以10为底的对数 log10(b)1 0.69897# 自定义底的对数 log(c,base = 2)1 2# 自然常数e的对数 log(a,base=exp(1)1 2.302585# 指数对数操作 log(ab,base=a)1 5 log(exp(3)1 3比较计算: =, , , !=, =, isTRUE, identical a-10;b a=a;a!=b;ab;aB;A=c1 TRUE1 TRUE1 TRUE1 FALSE1
3、FALSE1 TRUE# 判断是否为TRUE isTRUE(a)1 FALSE isTRUE(!a)1 FALSE# 精确比较两个对象 identical(1, as.integer(1)1 FALSE identical(NaN, -NaN)1 TRUE f g identical(f, g)1 TRUE逻辑计算: &, |, &, |, xor x y x & y;x | y1 FALSE1 FALSE# S4对象的逻辑运算,比较所有元素 &, | x & y;x | y1 FALSE FALSE FALSE TRUE1 FALSE TRUE TRUE TRUE# 异或 xor(x,y)1
4、 FALSE TRUE TRUE FALSE xor(x,!y)1 TRUE FALSE FALSE TRUE约数计算: ceiling,floor,trunc,round,signif# 向上取整 ceiling(5.4)1 6# 向下取整 floor(5.8)1 5# 取整数 trunc(3.9)1 3# 四舍五入 round(5.8)# 四舍五入,保留2位小数 round(5.8833, 2)1 5.88# 四舍五入,保留前2位整数 signif(5990000,2)1 6e+06数组计算: 最大, 最小, 范围, 求和, 均值, 加权平均, 连乘, 差分, 秩,,中位数, 分位数, 任
5、意数,全体数 d max(d);min(d);range(d)1 91 11 1 9# 求和,均值 sum(d),mean(d)1 251 5# 加权平均 weighted.mean(d,rep(1,5)1 5 weighted.mean(d,c(1,1,2,2,2)1 5.75# 连乘 prod(1:5)1 120# 差分 diff(d)1 2 2 2 2# 秩 rank(d)1 1 2 3 4 5# 中位数 median(d)1 5# 分位数 quantile(d)0% 25% 50% 75% 100%1 3 5 7 9# 任意any,全体all e any(e0);all(e facto
6、rial(5)1 120# 组合, 从5个中选出2个 choose(5, 2)1 10# 列出从5个中选出2个的组合所有项 combn(5,2) ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,101, 1 1 1 1 2 2 2 3 3 42, 2 3 4 5 3 4 5 4 5 5# 计算0:10的组合个数 for (n in 0:10) print(choose(n, k = 0:n)1 11 1 11 1 2 11 1 3 3 11 1 4 6 4 11 1 5 10 10 5 11 1 6 15 20 15 6 11 1 7 21 35 35 21 7 11 1 8 28 5
7、6 70 56 28 8 11 1 9 36 84 126 126 84 36 9 11 1 10 45 120 210 252 210 120 45 10 1# 排列,从5个中选出2个 choose(5, 2)*factorial(2)1 20累积计算: 累加, 累乘, 最小累积, 最大累积# 累加 cumsum(1:5)1 1 3 6 10 15# 累乘 cumprod(1:5)1 1 2 6 24 120 e cummin(e)1 -3 -3 -3 -3 -3 -3 -3# 最大累积cummax cummax(e)1 -3 -2 -1 0 1 2 3两个数组计算: 交集, 并集, 差集,
8、 数组是否相等, 取唯一, 查匹配元素的索引, 找重复元素索引# 定义两个数组向量 x y intersect(x,y)1 9 10 1 2 3 4 5 6 7 8# 并集 union(x,y) 1 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 518 6 7 0 8# 差集,从x中排除y setdiff(x,y) 1 11 12 13 14 15 16 17 18 19 20 0# 判断是否相等 setequal(x, y)1 FALSE# 取唯一 unique(c(x,y) 1 9 10 11 12 13 14 15 16 17 18 19 20 1
9、 2 3 4 518 6 7 0 8# 找到x在y中存在的元素的索引 which(x %in% y) 1 1 2 13 14 15 16 17 18 19 20 21 22 24 25 26 27 2818 29 30 31 which(is.element(x,y) 1 1 2 13 14 15 16 17 18 19 20 21 22 24 25 26 27 2818 29 30 31# 找到重复元素的索引 which(duplicated(x) 1 18 19 20 24 25 26 27 28 29 302 三角函数计算2.1 三角函数 在直角三角形中仅有锐角(大小在0到90度之间的角
10、)三角函数的定义。给定一个锐角,可以做出一个直角三角形,使得其中的一个内角是。设这个三角形中,的对边、邻边和斜边长度分别是a、b和h。三角函数的6种关系:正弦,余弦,正切,余切,正割,余割。 的正弦是对边与斜边的比值:sin = a/h 的余弦是邻边与斜边的比值:cos = b/h 的正切是对边与邻边的比值:tan = a/b 的余切是邻边与对边的比值:cot = b/a 的正割是斜边与邻边的比值:sec = h/b 的余割是斜边与对边的比值:csc = h/a三角函数的特殊值:函数 0 pi/12 pi/6 pi/4 pi/3 5/(12*pi) pi/2sin 0 (sqrt(6)-sqr
11、t(2)/4 1/2 sqrt(2)/2 sqrt(3)/2 (sqrt(6)+sqrt(2)/4 1cos 1 (sqrt(6)+sqrt(2)/4 sqrt(3)/2 sqrt(2)/2 1/2 (sqrt(6)-sqrt(2)/4 0tan 0 2-sqrt(3) sqrt(3)/3 1 sqrt(3) 2+sqrt(3) NAcot NA 2+sqrt(3) sqrt(3) 1 sqrt(3)/3 2-sqrt(3) 0sec 1 sqrt(6)-sqrt(2) sqrt(3)*2/3 sqrt(2) 2 sqrt(6)-sqrt(2) NAcsc NA 2 sqrt(2) sqrt(
12、3)*2/3 sqrt(6)-sqrt(2) 1 NA三角基本函数: 正弦,余弦,正切# 正弦 sin(0);sin(1);sin(pi/2)1 01 0.8414711 1# 余弦 cos(0);cos(1);cos(pi)1 11 0.54030231 -1# 正切 tan(0);tan(1);tan(pi)1 01 1.5574081 -1.224647e-16接下来,我们用ggplot2包来画出三角函数的图形。# 加载ggplot2的库 library(ggplot2) library(scales)三角函数画图# x坐标 x s1 s2 s3 s4 s5 s6 df g g g g
13、g2.1 反三角函数 基本的反三角函数定义:反三角函数 定义 值域arcsin(x) = y sin(y) = x - pi/2 = y = pi/2arccos(x) = y cos(y) = x 0 = y = pi,arctan(x) = y tan(y) = x - pi/2 y pi/2arccsc(x) = y csc(y) = x - pi/2 = y = pi/2, y!=0arcsec(x) = y sec(y) = x 0 = y = pi, y!=pi/2arccot(x) = y cot(y) = x 0 y asin(0);asin(1)1 01 1.570796 #
14、 pi/2=1.570796# 反余弦acos acos(0);acos(1)1 1.570796 # pi/2=1.5707961 0# 反正切atan atan(0);atan(1)1 01 0.7853982 # pi/4=0.7853982反三角函数画图# x坐标 x s1 s2 s3 s4 s5 s6 df g g g g3 复数计算复数,为实数的延伸,它使任一多项式都有根。复数中的虚数单位i,是-1的一个平方根,即i2 = -1。任一复数都可表达为x + yi,其中x及y皆为实数,分别称为复数之“实部”和“虚部”。3.1 创建一个复数# 直接创建复数 ai class(ai)1 c
15、omplex# 通过complex()函数创建复数 bi plex(bi)1 TRUE# 实数部分 Re(ai)1 5# 虚数部分 Im(ai)1 2# 取模 Mod(ai)1 5.385165 # sqrt(52+22) = 5.385165# 取辐角 Arg(ai)1 0.3805064# 取轭 Conj(ai)1 5-2i3.2 复数四则运算 加法公式:(a+bi)+(c+di) = (a+c)+(b+d)i 减法公式:(a+bi)-(c+di)= (a-c)+(b-d)i 乘法公式:(a+bi)(c+di) = ac+adi+bci+bidi=ac+bdi2+(ad+bc)i=(ac-
16、bd)+(ad+bc)i 除法公式:(a+bi)/(c+di) = (ac+bd)+(bc-ad)i)/(c2+d2)# 定义系数a-5;b-2;c-3;d-4# 创建两个复数ai-complex(real=a,imaginary=b)bi sqrt(-9)1 NaN# 在复数域,给-9开平方根 sqrt(complex(real=-9)1 0+3i4 方程计算方程计算是数学计算的一种基本形式,R语言也可以很方便地帮助我们解方程,下面将介绍一元多次的方程,和二元一次方程的解法。解一元多次方程,可以用uniroot()函数!4.1 一元一次方程一元一次方程:a*x+b=0,设a=5,b=10,求
17、x?# 定义方程函数 f1 a-5;b result result$root1 -2一元一次方程非常容易解得,方程的根是-2!以图形展示方程:y = 5*x + 10# 创建数据点 x y df g g g g g g4.2 一元二次方程一元二次方程:a*x2+b*x+c=0,设a=1,b=5,c=6,求x? f2 a-1;b-5;c result result$root1 -2把参数带入方程,用uniroot()函数,我们就解出了方程的一个根,改变计算的区间,我们就可以得到另一个根。 result result$root1 -3方程的两个根,一个是-2,一个是-3。由于uniroot()函数
18、,每次只能计算一个根,而且要求输入的区间端值,必须是正负号相反的。如果我们直接输入一个(-10,0)这个区间,那么uniroot()函数会出现错误。 result x y df g g g g g我们从图,并直接的看到了x的两个根取值范围。4.3 一元三次方程一元二次方程:a*x3+b*x2+c*x+d=0,设a=1,b=5,c=6,d=-11,求x? f3 a-1;b-5;c-6;d result result$root1 0.9461458如果我们设置对了取值区间,那么一下就得到了方程的根。以图形展示方程:y = x2 + 5*x + 6# 创建数据点 x y df g g g g g4.
19、4 二元一次方程组R语言还可以解二次的方程组,当然计算方法,其实是利用于矩阵计算。假设方程组:是以x1,x2两个变量组成的方程组,求x1,x2的值以矩阵形式,构建方程组# 左矩阵 lf rf result result ,11, 32, -1得方程组的解,x1, x2分别为3和-1。接下来,我们画出这两个线性方程的图。设y=X2, x=X1,把原方程组变成两个函数形式。# 定义2个函数 fy1 fy2 x y1 y2 dy1 dy2 df g g g g我们看到两条直线交点的坐标,就是方程组的两个根。多元一次方程,同样可以用这种方法来解得。通过R语言,我们实现了对于初等数学的各种计算,真的是非
20、常方便!下一篇文章将介绍,用R语言来解决高级数学中的计算问题。目录1. 随机变量2. 随机变量的数字特征3. 极限定理1. 随机变量 什么是随机变量? 离散型随机变量 连续型随机变量1). 什么是随机变量?随机变量(random variable)表示随机现象各种结果的实值函数。随机变量是定义在样本空间S上,取值在实数载上的函数,由于它的自变量是随机试验的结果,而随机实验结果的出现具有随机性,因此,随机变量的取值具有一定的随机性。R程序:生成一个在(0,1,2,3,4,5)的随机变量 S sample(S,1)1 2 sample(S,1)1 3 sample(S,1)1 52). 离散型随机
21、变量如果随机变量X的全部可能的取值只有有限多个或可列无穷多个,则称X为离散型随机变量。R程序:生成样本空间为(1,2,3)的随机变量X,X的取值是有限的 S X runif(10,0,1) 1 0.3819569 0.7609549 0.6692581 0.6314708 0.5552201 0.8225527 0.7633086 0.4667188 0.188355310 0.37416532. 随机变量的数字特征 数学期望 方差 标准差 各种分步的期望和方差 常用统计量(最大,最小,中位数,四分位数) 协方差 相关系数 矩(原点矩,中心矩,偏度,峰度) 协方差矩阵1). 数学期望(math
22、ematical expectation)离散型随机变量:的一切可能的取值xi与对应的概率Pi(=xi)之积的和称为该离散型随机变量的数学期望,记为E(x)。数学期望是最基本的数学特征之一。它反映随机变量平均取值的大小。R程序:计算样本(1,2,3,7,21)的数学期望 S mean(S)1 6.8连续型随机变量:若随机变量X的分布函数F(x)可表示成一个非负可积函数f(x)的积分,则称X为连续性随机变量,f(x)称为X的概率密度函数,积分值为X的数学期望,记为E(X)。2). 方差(Variance)方差是各个数据与平均数之差的平方的平均数。在概率论和数理统计中,方差用来度量随机变量和其数学
23、期望(即均值)之间的偏离程度。设X为随机变量,如果EX-E(X)2存在,则称EX-E(X)2为X的方差,记为Var(X)。R程序:计算样本(1,2,3,7,21)的方差 S var(S)1 68.23). 标准差(Standard Deviation)标准差是方差的算术平方根sqrt(var(X)。标准差能反映一个数据集的离散程度。平均数相同的,标准差未必相同。R程序:计算样本(1,2,3,7,21)标准差 S sd(S)1 8.2583294). 各种分步的期望和方差 离散型分布:两点分布,二项分布,泊松分布等 连续型分布:均匀分布,指数分布,正态分布,伽马分布等对于某一特定场景,其所符合的
24、分布规律一般先验给出请参考文章:http:/blog.fens.me/r-density/5). 常用统计量众数(Mode): 一组数据中出现次数最多的数值,叫众数,有时众数在一组数中有好几个。R程序:计算样本(1,2,3,3,3,7,7,7,7,9,10,21)的众数 S names(which.max(table(S)1 7最小值(minimum): 在给定情形下可以达到的最小数量或最小数值R程序:计算样本(2,3,3,3,7,7,7,7,9,10,21)的最小值 S min(S)1 2#最小值的索引 which.min(S)1 1最大值(maximum): 在给定情形下可以达到的最大数量
25、或最大数值R程序:计算样本(2,3,3,3,7,7,7,7,9,10,21)的最大值 S max(S)1 21#最大值的索引 which.max(S)1 11中位数(Medians): 是指将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变量值就称为中位数。R程序:计算样本(1,2,3,4,5)的中位数 S median(S)1 3四分位数(Quartile): 用于描述任何类型的数据,尤其是偏态数据的离散程度,即将全部数据从小到大排列,正好排列在上1/4位置叫上四分位数,下1/4位置上的数就叫做下四分位数. R程序:计算样本(1,2,3,4,5,6,7,8,
26、9)的四分位数 S quantile(S) 0% 25% 50% 75% 100% 1 3 5 7 9 fivenum(S)1 1 3 5 7 9通用的计算统计函数:R程序:计算样本(1,2,3,4,5,6,7,8,9)的统计函数 S summary(S) Min. 1st Qu. Median Mean 3rd Qu. Max. 1 3 5 5 7 9 6). 协方差(Covariance)协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。设X,Y为两个随机变量,称EX-E(X)Y-E(Y)为X和Y的协方差,记录Cov(X,Y)。R程序:计算X(1,2
27、,3,4)和Y(5,6,7,8)的协方差 X Y cov(X,Y)1 1.6666677). 相关系数(Correlation coefficient)相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度。当Var(X)0, Var(Y)0时,称Cov(X,Y)/sqrt(Var(X)*Var(Y)为X与Y的相关系统。R程序:计算X(1,2,3,4)和Y(5,7,8,9)的相关系数 X Y cor(X,Y)1 0.98270768). 矩原点矩(moment about origin): 对于正整数k,如果E|Xk|存在,称Vk=E(Xk)为随机变量X的k阶原点矩。X的数学期望是X的一阶原点矩,即E(x)=v1.R程序:计算S(1,2,3,4,5)的一阶原点矩(均值) S mean(S)1 3中心矩(moment about centre): 对于正整数k,如果EX存在,且E(|X - EX|k)也存在,则称EX-EXk为随机