R功能; 如果没有给出输入,请求它

Lem*_*kin 7 r

我正在尝试在R中编写一个函数,它将两个输入作为字符串.如果两个输入均未设置,则会询问输入,然后继续执行该功能.

Input < - function(j,k){
   if ((j==j)&&(k==k)){
      j <- readline(prompt="Enter Input 1: ")
      k <- readline(prompt="Enter Input 2: ")
      Input(j,k)
   }else if ((j=="<string here>")&&(k=="<string here>")){
      ....
   }
}
Run Code Online (Sandbox Code Playgroud)

For*_*ens 3

我认为构建您的方法的更好方法是这样,使用可选参数并在继续之前测试它们是否为非空,尽管不可否认您发布的问题非常模糊:

Input < - function(j=NA, k=NA) {
  if (is.na(j) | is.na(k)){
    j <- readline(prompt="Enter Input 1: ")
    k <- readline(prompt="Enter Input 2: ")
    Input(j, k)
  } else if ((j == "<string here>") & (k == "<string here>")) {
    ....
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为“NULL”是可选函数参数的首选 - 请参阅“plot.default” - 然后您可以使用“is.null”进行测试 (2认同)