如何允许用户使用R的多个输入?

时间:2010-03-29 18:16:47

标签: r user-input

例如,如果我需要,用户指定矩阵的行数和列数:

PROMPT:行数?:

USER INPUT:[数字]

我需要R'等待'输入。然后将[数字]保存到变量v1中。接下来,

PROMPT:列数?:

USER INPUT:[另一个号码]

还将[另一个数字]保存到变量v2中。最后,我将有两个变量(v1,v2)将用于其余代码。

“readline”一次只适用于一个输入。我不能一起跑这两行

v1 <- readline("Number of rows?: ")
v2 <- readline("Number of columns?: ")

有任何想法或建议吗?

提前谢谢

2 个答案:

答案 0 :(得分:5)

您可以将这些语句组合成一个子句:

{ v1 <- readline("Number of rows?: "); v2 <- readline("Number of columns?: ") }

或者通常,将它们变成一个函数:

readlines <- function(...) {
   lapply(list(...), readline)
}
readlines("Number of rows?: ", "Number of columns?: ")

答案 1 :(得分:4)

您可能会发现tcltk包中的tkentry函数很有用(有关更多示例,请参阅here)。包svDialogs中还有一个guiDlg函数

library(svDialogs)
display(guiDlg("SciViews-R", "My first dialog box with SciViews-R"))

检查this page了解更多信息..