目录

一、对象命名原则

二、基本数学运算

2.1 四则运算

2.2 余数和整除

2.3 次方或平方根

2.4 绝对值

2.5 exp()与对数

2.6 科学符号e

2.7 圆周率与三角函数

2.8 四舍五入函数

2.9 近似函数

2.10 阶乘

三、R语言控制运算的优先级

四、无限大

五、非数字(NaN)

六、缺失值(NA)


一、对象命名原则

R语言的基本命名规则包括以下几点:

(1)下列名称是R语言的保留字,不可当作对象名称。

break、else、FALSE、for、function、if、Inf、NA、NaN、next、repeat、return、TRUE、while

(2)R语言对英文字母大小写是敏感的,所以basket与Basket,会被视为两个不同的对象。

(3)对象名称开头必须是英文字母或点号(“.”),当以点号(“.”)开头时,接续的第二个字母不可是数字。

(4)对象名称只能包含字母,数字、下划线(“_”)和点号(“.”)。

二、基本数学运算

2.1 四则运算

R语言的四则运算是指加(+)、减(-)、乘(*)和除(/)。

2.2 余数和整除

余数所使用的符号是“%%”,可计算出除法运算中的余数。整除所使用的符号是“%/%”,是指除法运算中只保留整数部分。

2.3 次方或平方根

次方的符号是“**”或“^”,平方根的计算使用函数sqrt()。

2.4 绝对值

绝对值的函数名称是abs(),不论函数内的值是正数或负数,结果均为正数。

2.5 exp()与对数

exp()是指自然数e的x次方,其中e的近似值是2.718282。

对数有以下两种类型。

(1)以自然数e为底的对数,

RR语言如何计算信息熵 r语言计算hr_开发语言

,语法是log()。(2)一般基底的对数,

RR语言如何计算信息熵 r语言计算hr_RR语言如何计算信息熵_02

,语法是log(x,m)。如果基底是10,也可以使用另一个对数函数log10()取代。

exp()和log()也可以互为反函数。

2.6 科学符号e

科学符号使用e表示,例如数字12800,实际等于“1.28*10^4”,也可以用“1.28e4”表示。

2.7 圆周率与三角函数

圆周率就是指pi。pi是系统默认的参数,其近似值是3.141593。

R语言所提供的三角函数有许多,例如sin()、cos()、tan()、asin()、acos()、atan()、sinh()、cosh()、tanh()、asinh()。

2.8 四舍五入函数

R语言的四舍五入函数是round()。

round(x,digits=k),表示将实数x,以四舍五入的方式,计算至第k位小数。另外,round()函数中的第2个参数“digits=”也可以直接省略,直接在第2个参数位置输入数字。

signif(x,digits=k),也是一个四舍五入的函数,其中x是要做处理的实数,k是有效数字的个数。例如,signif(79843.597,digits=6),代表取6个数字,从左边算第7个数字以四舍五入的方式处理。

2.9 近似函数

R语言有3个近似函数。

(1)floor(x):可得到小于等于x的最近整数。所以,floor(234.56)等于234,floor(-234.45)等于-235。

(2)ceiling(x):可得到大于等于x的最近整数。所以,ceiling(234.56)等于235,ceiling(-234.45)等于-234。

(3)trunc(x):可直接取整数。所以,trunc(234.56)等于234,trunc(-234.45)等于-234。

2.10 阶乘

factorial(x)可以返回x的阶乘。

三、R语言控制运算的优先级

当R语言碰上多种计算式同时出现在一个命令内时,除了括号“()”最优先外,其余计算优先次序如下:

(1)指数。

(2)乘法、除法、求余数(%%)、求整数(%/%),依照出现顺序运算。

(3)加法、减法,依照出现顺序运算。

四、无限大

R语言可以处理无限大(Infinity)的值,使用代号值Inf,如果是负无限大则是-Inf。其实只要某一个数字数字除以0,就可获得无限大。

判断某一个数字是否为无限大(正值无限大或负值无限大),可以使用is.infinite(x),如果x是无限大则返回逻辑值TRUE,否则返回FALSE。

另一个相关函数是is.finite(x),如果数字x是有限的(正有限大或负有限大)则返回TRUE,否则返回FALSE。

注:

在其他程序语言中,TRUE和FALSE值被称为布尔值,但在R语言中,R的开发人员将此称为逻辑值。

五、非数字(NaN)

在R语言中,Not a Number(NaN)可以解释为非数字或无定义数字。无限大除以无限大可以获得NaN。

R语言将NaN当作一个数字,可以使用NaN参与四则运算,但所得结果均是NaN。

使用is.nan(x)函数,可检测x是否位NaN,如果是则返回TRUE,否则返回FALSE。

另外,对于NaN而言,使用is.finite()和is.infinite()判断,均传回FALSE。

六、缺失值(NA)

我们可以将缺失值当作一个有效数值,甚至可以将此值应用在四则运算中,不过,通常计算结果是NA。

R语言提供的is.na(x)函数可判断x是否为NA,如果是则返回TRUE,否则返回FALSE。

对于NaN而言,使用is.na()判断,可以得到TRUE。