2010-03-29 13 views
5

Por ejemplo, si necesito que el usuario especifica el número de filas y columnas de una matriz:¿Cómo se permiten múltiples entradas del usuario que usa R?

PROMPT: Número de filas ?:

usuario de entrada: [un número]

necesito que R 'espera' por la entrada. Luego guarde [un número] en una variable v1. A continuación,

INMEDIATA: Número de columnas ?:

USUARIO DE ENTRADA: [otro número]

también ahorrar [otro número] en una variable V2. Al final, tendré dos variables (v1, v2) que se usarán en el resto del código.

"readline" solo funciona para una entrada a la vez. No puedo ejecutar las dos líneas juntas

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

¿Alguna idea o sugerencia?

gracias de antemano

Respuesta

5

Se pueden combinar estas declaraciones en una cláusula:

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

o, en general, hacer de ellos una función:

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

usted puede encontrar útil el tkentry función en paquete tcltk (para más ejemplos, ver here). También hay una función guiDlg en svDialogs paquete

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

Comprobar this page para más ..

Cuestiones relacionadas