我是一名数学家,对IT技术不是很了解。我想知道使用具有多个条件的语句还是更多的if / else if语句(如下例所示)更快。考虑到我有一个非常大的数据表(有数百万行),并且在函数中有这些if语句,我将其应用于一列的每一行,并将结果存储在新列中。我只想找出这两种方法之间是否存在差异(更快/更慢/相同)。
if (is.na(numerator) == TRUE){
result = 0
} else if (numerator == 0){
result = 0
} else if (is.na(denominator) == TRUE){
result = max
} else if (denominator == 0){
result = max
} else {
result = numerator/denominator
}
或者
if (is.na(numerator) == TRUE || numerator == 0){
result = 0
} else if (is.na(denominator) == TRUE || denominator == 0){
result = max
} else {
result = numerator/denominator
}
is.na(numerator) == TRUE
,is.na(numerator)
已经返回了 TRUE/FALSE 值。 - Ronak Shahmatch
和%in%
? - Roman Luštrik