(控制台)R中的用户交互?

时间:2011-04-13 09:55:13

标签: r console interaction

我确信在对回归对象执行plot命令时,你们都知道“命中返回显示下一个绘图”语句。我想知道如何在R中自己做这种互动。 我在邮件列表上发现了几个帖子,但没有什么真正全面的。其中大部分涉及menu()和不同的操作系统GUI。我只想创建类似的东西:

 Please enter sample size n: 
 > 1000

 #execution of
 rnorm(1000)

可能我刚刚错过了文档的某些部分而根本无法找到合适的google文字...

2 个答案:

答案 0 :(得分:5)

不是readLines而是readline

n <- as.integer(readline(prompt = "Please enter sample size > "))

稍微优雅的实施:

read_value <- function(prompt_text = "", prompt_suffix = getOption("prompt"), coerce_to = "character")
{
  prompt <- paste(prompt_text, prompt_suffix)
  as(readline(prompt), coerce_to)
} 

read_value("Please enter sample size", coerce_to = "integer")

答案 1 :(得分:1)

您可以使用readLines,但我确信还有其他方法......

ask = function( prompt ) {
    cat( paste( prompt, ':' ) )
    readLines( n=1 )
}

n = as.integer( ask( 'Please enter sample size n' ) )