R在循环中跳过readline

时间:2014-08-04 19:55:27

标签: r loops readline

我试图在for循环中包含readline命令,然后是其他代码。使用下面的代码我希望R要求输入三次,但是我只有机会在循环被认为是响应之一之后给出响应两次,这不是我想要或期望的。我尝试了一个while循环来强制'强制' R停止执行,直到得到用户的响应,但这似乎不起作用。任何建议都将非常感激。

response <- rep(NA,3)
for(i in 1:3) {
    while(is.na(response[i])) {response[i] <- readline("Give me a number: ") } # Ask for response
}
response

1 个答案:

答案 0 :(得分:1)

当readline语句和后续语句用大括号括起来时,语句按顺序执行。以下代码按预期工作。

{
  for(i in 1:3) { response[i] <- readline("Give me a number: ") }
  response
}