ifelse()
我们一般使用if else语句进行变量赋值时,会这样写:
if(condition) {x <- 1} else {x <- 2}
实际上可以直接:
x <- if(condition) 1 else 2
另一个快速判断的方法:ifelse(test, yes, no)
,即:
x <- ifelse(condition, 1, 2)
当有多个选择时,switch可以很方便地缩短if…else if…语句。这个技巧在需要根据之前的抉择指定变量的不同取值时非常有用。例如:
if(dataset == 'Zhu'){
REF <- 1
} else if(dataset == 'Wilk'){
REF <- 2
} else if(dataset == 'Stephenson'){
REF <- 3
} else if(dataset == 'Hao'){
REF <- 4
} else if(dataset == 'Monaco'){
REF <- 5
}
改用switch语句可以写为:
REF <- switch(dataset,
'Zhu' = 1,
'Wilk' = 2,
'Stephenson' = 3,
'Hao' = 4,
'Monaco' = 5)