r - 如何创建一个返回 2 个整数之和的函数?

标签 r if-statement integer

我遇到了一个简单的问题,但是没有写出代码。如果你能帮助我,我将不胜感激。

问题:创建一个将返回 2 个整数之和的函数。

我的代码:

q1 <- function(a, b) {
  if (a == as.integer(a)) {
    if (b == as.integer(b)) {
      result1 <- a + b
    }
  }
} else {
  result1 <- NA
  result1
}

q1(3,6) - 假设它返回 9

q1(3.1,6) - 假设它返回 NA

顺便说一句,为什么我不能这样写语法? if(is.integer(a) = TRUE){

最佳答案

这使用了 this answer 中的函数 (testInteger) , 稍作编辑。它使用现在推荐的 isTRUE() 检查值是否为 TRUE

testInteger <- function(x){
  test <- all.equal(x, as.integer(x), check.attributes = FALSE)
  isTRUE(test)
}

q1 <- function(a, b) {
  if (testInteger(a) && testInteger(b)) {
    a + b
  } else {
    NA
  }
}

q1(3, 6)    # returns 9
q1(3.1, 6)  # returns NA

关于r - 如何创建一个返回 2 个整数之和的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57229730/

相关文章:

javascript - 不断检查某物是否存在并做某事

python - if的语法无效

r - 整数类型分为两列

r - r mongolite-日期查询

r - download.file() 在 Windows 上生成 "invalid"zip 文件,但在 Mac 上工作正常

c - If 语句不会停止执行。 C编程

xml - 如何在 XML 中显示 Activity 中的整数?

java - Java 1.6 中字符串连接多个整数的技巧

c++ - 如何在 C++ 中正确表示非完整字节数字数组?

r - plyr 并行错误处理和警告