目录
一、对象命名原则
二、基本数学运算
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为底的对数,,语法是log()。
(2)一般基底的对数,,语法是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。