He creado algunas código R para su uso por personas que no saben nada de R (a pesar de que estoy bastante verde mí mismo). He tenido la gente de pasta en los datos iniciales para el R de la consola (con resultados mixtos), y tenía la esperanza de establecer un usuario más amigable para la gente a entrar en los datos.

Idealmente alguien podría sentarse en la consola, escriba un comando, y se le pide con preguntas específicas sobre cómo introducir los datos.

Por ejemplo, una persona cargas de hasta r y ve un mensaje:

What is x value?

La persona tipos:

2

Siguiente mensaje:

What is y value?

Tipos de persona en:

3

Siguiente mensaje:

 What are T values?

Tipos de persona en:

 4,3,2,1

Siguiente mensaje:

Lo que son V los valores?

Tipos de persona en :

4,5,6,9

Y con estos 4 que acaba de definir las variables (X,Y,T,V) R el siguiente paso es ejecutar el pre-escrito el código

X+Y
V+T

Y en la consola de las respuestas pop-up

5
8 8 8 10

Y todo el mundo es feliz

Mis disculpas ya que no es un reproducible código de tipo de pregunta, pero no estoy seguro de cómo enfoque de R preguntas frente a mí preguntando la pregunta acerca de R!

InformationsquelleAutor Vinterwoo | 2012-06-13

4 Comentarios

  1. 64

    Ya que este se supone que se utiliza como código interactivo único, readline() puede trabajar para usted. No he añadido ninguna comprobación de errores, pero quizás quieras hacer una buena cantidad de que para garantizar la correcta entrada. Aquí está el núcleo del concepto, sin embargo:

    fun <- function(){
      x <- readline("What is the value of x?")  
      y <- readline("What is the value of y?")
      t <- readline("What are the T values?")
      v <- readline("What are the V values?")
    
      x <- as.numeric(unlist(strsplit(x, ",")))
      y <- as.numeric(unlist(strsplit(y, ",")))
      t <- as.numeric(unlist(strsplit(t, ",")))
      v <- as.numeric(unlist(strsplit(v, ",")))
    
      out1 <- x + y
      out2 <- t + v
    
      return(list(out1, out2))
    
    }
    • El código funciona muy bien! Yo estaba un poco confundido sobre cómo empezar, pero después de mirar las notas en readline() acabo de añadir una última línea de los de arriba «si(interactive()) diversión()» y se inicia automáticamente el símbolo del sistema. Gracias!
    • Esto es agradable. He estado tratando de entender exactamente lo que está pasando con la unlist y strsplit funciones, sin embargo. ¿Qué es R haciendo aquí?
    • El strsplit es necesario para la franja de las comas fuera de la entrada si el usuario escribe en ‘»4,3,2,1″ como en el ejemplo original. No es necesario si la entrada no está en ese formato.
    • gracias!!
  2. 43

    Ver también ?menu de utils para un simple texto base de la interfaz de menú y de símbolo de sistema, que se utiliza también en devtools.

    Aquí está un ejemplo:

    > menu(c("Yes", "No"), title="Do you want this?")
    Do you want this? 
    
    1: Yes
    2: No
    
    Selection:
  3. 7

    Esta cuestión ya fue traído de vuelta de entre los muertos, probablemente escrito una respuesta actualizada.

    Si una interfaz gráfica de usuario es útil en este caso, el Brillante paquete ahora está bien integrado con RStudio, y sería muy fácil de implementar esto como una Brillante aplicación. El sitio web http://shiny.rstudio.com tiene más información, incluyendo ejemplos y documentación.

  4. 5

    Puede ser excesivo para este caso en particular, pero la swirl paquete es bueno para interactivamente la introducción de R para principiantes.

    remolino es un paquete de software para la R lenguaje de programación que se convierte
    el R de la consola en un entorno interactivo de aprendizaje. Los usuarios reciben
    retroalimentación inmediata como son guiados a través de la auto-ritmo de las lecciones en
    los datos de la ciencia y de la programación de R.

    Las instrucciones para la generación de contenido que se puede encontrar aquí: http://swirlstats.com/instructors.html.

Dejar respuesta

Please enter your comment!
Please enter your name here