2010-03-29 5 views
5

Par exemple, si je dois que l'utilisateur spécifie le nombre de lignes et de colonnes d'une matrice:Comment autoriser plusieurs entrées de l'utilisateur en utilisant R?

PROMPT: Nombre de lignes ?:

USER INPUT: [plusieurs]

j'ai besoin que R 'attend' pour l'entrée. Puis sauvegardez [un nombre] dans une variable v1. Ensuite,

PROMPT: Nombre de colonnes ?:

USER INPUT: [un autre numéro]

sauver aussi [un autre numéro] dans une variable v2. A la fin, j'aurai deux variables (v1, v2) qui seront utilisées dans le reste du code. "Readline" ne fonctionne que pour une entrée à la fois. Je ne peux pas courir les deux lignes ensemble

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

Des idées ou des suggestions?

Nous vous remercions à l'avance

Répondre

5

Vous pouvez combiner ces déclarations dans une clause:

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

Ou généralement, les faire en fonction:

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

peut vous être utile le tkentry fonctionner dans le paquet tcltk (pour plus d'exemples voir here). Il y a aussi une fonction guiDlg dans svDialogs de paquet

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

Vérifier this page pour plus ..

Questions connexes