Как разрешить множественные входы от пользователя, использующего R? - PullRequest
5 голосов
/ 29 марта 2010

Например, если мне нужно, чтобы пользователь указал количество строк и столбцов матрицы:

ПОДСКАЗКА: Количество строк ?:

ВХОД ПОЛЬЗОВАТЕЛЯ: [число]

Мне нужно, чтобы R ожидал ввода.Затем сохраните [число] в переменную v1.Далее

ПРИМЕЧАНИЕ: Количество столбцов ?:

ВХОД ПОЛЬЗОВАТЕЛЯ: [другое число]

Также сохраните [другое число] в переменную v2.В конце у меня будет две переменные (v1, v2), которые будут использоваться в остальной части кода.

«readline» работает только для одного входа за раз.Я не могу запустить две строки вместе

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

Есть идеи или предложения?

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 29 марта 2010

Вы можете объединить эти операторы в предложение:

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

Или вообще, превратить их в функцию:

readlines <- function(...) {
   lapply(list(...), readline)
}
readlines("Number of rows?: ", "Number of columns?: ")
4 голосов
/ 29 марта 2010

Может оказаться полезной функция tkentry в пакете tcltk (дополнительные примеры см. здесь ). В пакете svDialogs

также есть функция guiDlg .
library(svDialogs)
display(guiDlg("SciViews-R", "My first dialog box with SciViews-R"))

Проверьте эту страницу , чтобы узнать больше ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...