📅  最后修改于: 2021-01-08 09:27:36             🧑  作者: Mango
在编程中,关键字是程序保留的单词,因为它具有特殊的含义。关键字可以是命令或参数。像在C,C++,Java中一样,R中也有一组关键字。关键字不能用作变量名。关键字也称为“保留名称”。
根据?reserved或help(reserved)命令,有以下关键字:
if | else | repeat |
while | function | for |
next | break | TRUE |
FALSE | NULL | Inf |
NaN | NA | NA_integer_ |
NA_real_ | NA_complex_ | NA_character_ |
if语句由一个布尔表达式组成,后跟一个或多个语句。在R中,if语句是最简单的条件语句,用于决定是否执行该语句的块。
例:
a<-11
if(a<15)
+ print("I am lesser than 15")
输出:
R else语句与if语句关联。如果if语句的条件为false,则else块将被执行。让我们看一个例子来清楚地说明一下:
例:
a<-22
if(a<20){
cat("I am lesser than 20")
}else{
cat("I am larger than 20")
}
输出:
repeat关键字用于遍历代码块多次。在R中,repeat是一个循环,在此循环语句中,没有条件可以退出循环。为了退出循环,我们将使用break语句。
例:
x <- 1
repeat {
cat(x)
x = x+1
if (x == 6){
break
}
}
输出:
while关键字用作循环。执行while循环,直到给定条件为真为止。这也用于进行无限循环。
例:
a <- 20
while(a!=0){
cat(a)
a = a-2
}
输出:
函数是R编程中的对象。关键字函数用于在R中创建用户定义函数。R还具有一些预定义的函数,例如seq,mean和sum。
例:
new.function<- function(n) {
for(i in 1:n) {
a <- i^2
print(a)
}
}
new.function(6)
输出:
for是用于循环或迭代序列(字典,字符串,列表,集合或元组)的关键字。
我们可以在for循环的帮助下,对迭代器中的每个项目(列表,集合,元组等)执行一次语句集。
例:
v <- LETTERS[1:4]
for ( i in v) {
print(i)
}
输出:
next关键字跳过循环的当前迭代而不终止它。接下来找到R解析器时,它将跳过进一步的评估,并开始循环的新迭代。
例:
v <- LETTERS[1:6]
for ( i in v) {
if (i == "D") {
next
}
print(i)
}
输出:
如果条件为真,则使用break关键字终止循环。程序的控制权首先传递给外部语句,然后传递给break语句的主体。
例:
n<-1
while(n<10){
if(n==3)
break
n=n+1
cat(n,"\n")
}
cat("End of the program")
输出:
TRUE和FALSE关键字用于表示布尔值true和布尔值false。如果给定的语句为true,则解释器返回true,否则解释器返回false。
在R中,NULL表示空对象。 NULL用于表示缺失和未定义的值。 NULL是既不是TRUE也不是FALSE的语句的逻辑表示。
例:
as.null(list(a = 1, b = "c"))
输出:
is.finite和is.infinite函数返回相同长度的向量,指示哪些元素是有限的或无限的。
Inf和-Inf是正无穷大。 NaN代表“不是数字”。 NaN适用于数值以及复数值的实部和虚部,但不适用于整数向量的值。
用法
is.finite(x)
is.infinite(x)
is.nan(x)
Inf
NaN
NA是长度为1的逻辑常数,其中包含缺失值指示符。可以将其强制为除raw以外的任何其他向量类型。也有其他类型的常量,例如NA_Integer_,NA_real_,NA_complex_和NA_character。这些常数是其他原子向量类型,支持缺失值。
用法
NA
is.na(x)
anyNA(x, recursive = FALSE)
## S3 method for class 'data.frame'
is.na(x)
is.na(x) <- value