Tomando la entrada del usuario en la programación R

Los desarrolladores a menudo tienen la necesidad de interactuar con los usuarios, ya sea para obtener datos o para proporcionar algún tipo de resultado. La mayoría de los programas actuales usan un cuadro de diálogo como una forma de pedirle al usuario que proporcione algún tipo de entrada. Al igual que otros lenguajes de programación en R , también es posible recibir información del usuario. Para hacerlo, hay dos métodos en R. 
 

  • Usando el método readline()
  • Usando el método de escaneo()

Usando el método readline()

En el lenguaje R, el método readline() toma la entrada en formato de string. Si uno ingresa un número entero, entonces se ingresa como una string, digamos, uno quiere ingresar 255 , luego ingresará como «255» , como una string. Entonces, uno necesita convertir ese valor ingresado al formato que necesita. En este caso, la string «255» se convierte en el entero 255. Para convertir el valor ingresado al tipo de datos deseado, hay algunas funciones en R, 
 

  • como.entero(n) ; -> convertir a entero
  • como.numeric(n) ; -> convertir a tipo numérico (flotante, doble, etc.)
  • como.complejo(n) ; -> convertir a número complejo (es decir, 3+2i)
  • as.Date(n) —> convertir a fecha…, etc.

Sintaxis: 
var = readline(); 
var = as.integer(var);
Tenga en cuenta que se puede usar «<-« en lugar de «=» 
 

Ejemplo: 
 

R

# R program to illustrate
# taking input from the user
 
# taking input using readline()
# this command will prompt you
# to input a desired value
var = readline();
 
# convert the inputted value to integer
var = as.integer(var);
 
# print the value
print(var)

Producción: 
 

255
[1] 255

También se puede mostrar un mensaje en la ventana de la consola para decirle al usuario qué ingresar en el programa. Para hacer esto, se debe usar un argumento llamado prompt dentro de la función readline() . En realidad , el argumento rápido facilita otras funciones para la construcción de archivos que documentan. Pero el aviso no es obligatorio para usar todo el tiempo.
 

Sintaxis
var1 = readline(prompt = “Ingrese cualquier número: “); 
o bien, 
var1 = readline(“Ingrese cualquier número: “);

Ejemplo: 
 

R

# R program to illustrate
# taking input from the user
 
# taking input with showing the message
var = readline(prompt = "Enter any number : ");
 
# convert the inputted value to an integer
var = as.integer(var);
 
# print the value
print(var)

Producción: 
 

Enter any number : 255
[1] 255

Tomando múltiples entradas en R

Tomar múltiples entradas en lenguaje R es lo mismo que tomar una sola entrada, solo necesita definir múltiples readline() para las entradas. Uno puede usar llaves para definir múltiples readline() dentro de él.
 

Sintaxis
var1 = readline(“Ingrese el 1er número: “); 
var2 = readline («Ingrese el segundo número: «); 
var3 = readline(“Ingrese el 3er número: “); 
var4 = readline(“Ingrese el cuarto número: “);
o,

var1 = readline(“Ingrese el 1er número: “); 
var2 = readline («Ingrese el segundo número: «); 
var3 = readline(“Ingrese el 3er número: “); 
var4 = readline(“Ingrese el cuarto número: “); 
}

Ejemplo: 
 

R

# R program to illustrate
# taking input from the user
 
# taking multiple inputs
# using braces
{
    var1 = readline("Enter 1st number : ");
    var2 = readline("Enter 2nd number : ");
    var3 = readline("Enter 3rd number : ");
    var4 = readline("Enter 4th number : ");
}
 
# converting each value
var1 = as.integer(var1);
var2 = as.integer(var2);
var3 = as.integer(var3);
var4 = as.integer(var4);
 
# print the sum of the 4 number
print(var1 + var2 + var3 + var4)

Producción: 
 

Enter 1st number : 12
Enter 2nd number : 13
Enter 3rd number : 14
Enter 4th number : 15
[1] 54

Tomando la entrada de strings y caracteres en R

Tomar una entrada de string es lo mismo que un número entero. Para «String», no es necesario convertir los datos ingresados ​​en una string porque R siempre toma la entrada como una string. Y para «carácter», debe convertirse en ‘carácter’. A veces puede que no cause ningún error. También se puede tomar la entrada de caracteres como una string, pero los datos ingresados ​​​​son del tipo string para todo el programa. Entonces, la mejor manera de usar los datos ingresados ​​​​como ‘carácter’ es convertir los datos en un carácter.

Sintaxis :
string
var1 = readline(prompt = “Ingrese su nombre: “);
carácter
var1 = readline(prompt = “Ingrese cualquier carácter: “); 
var1 = como.carácter(var1)

Ejemplo: 
 

R

# R program to illustrate
# taking input from the user
 
# string input
var1 = readline(prompt = "Enter your name : ");
 
# character input
var2 = readline(prompt = "Enter any character : ");
# convert to character
var2 = as.character(var2)
 
# printing values
print(var1)
print(var2)

Producción: 
 

Enter your name : GeeksforGeeks
Enter any character : G
[1] "GeeksforGeeks"
[1] "G"

Usando el método de escaneo()

Otra forma de tomar la entrada del usuario en lenguaje R es usar un método, llamado método scan() . Este método recibe información de la consola. Este método es muy útil, ya que se necesitan entradas para realizar rápidamente cualquier cálculo matemático o para cualquier conjunto de datos. Este método lee datos en forma de vector o lista. Este método también se usa para leer la entrada de un archivo también. 
 

Sintaxis: 
x = scan(
) El método scan() recibe datos continuamente, para finalizar el proceso de datos, debe presionar la tecla Intro 2 veces en la consola.

Ejemplo: 
Este es un método simple para tomar entrada usando el método scan() , donde un número entero toma como entrada e imprime esos valores en la siguiente línea en la consola. 
 

R

# R program to illustrate
# taking input from the user
 
# taking input using scan()
x = scan()
# print the inputted values
print(x)

Producción: 
 

1: 1 2 3 4 5 6
7: 7 8 9 4 5 6
13: 
Read 12 items
 [1] 1 2 3 4 5 6 7 8 9 4 5 6

Explicación
se toman un total de 12 enteros como entrada en 2 líneas cuando el control pasa a la 3.ª línea y luego, al presionar la tecla Intro 2 veces, el proceso de entrada finalizará.
 

Tomando valores dobles, de string, de tipo de carácter usando el método scan()

Para tomar entradas de tipos de caracteres dobles, de string, especifique el tipo del valor ingresado en el método scan() . Para hacer esto, hay un argumento llamado qué , mediante el cual se puede especificar el tipo de datos del valor ingresado.
 

Sintaxis: 
x = escanear(qué = doble()) —-para doble 
x = escanear(qué = ” “) —-para string 
x = escanear(qué = carácter()) —-para carácter 

Ejemplo: 
 

R

# R program to illustrate
# taking input from the user
 
# double input using scan()
d = scan(what = double())
 
# string input using 'scan()'
s = scan(what = " ")
 
# character input using 'scan()'
c = scan(what = character())
 
# print the inputted values
print(d) # double
print(s) # string
print(c) # character

Producción: 
 

1: 123.321 523.458 632.147
4: 741.25 855.36
6: 
Read 5 items
1: geeksfor geeks gfg
4: c++ R java python
8: 
Read 7 items
1: g e e k s f o
8: r g e e k s
14: 
Read 13 items
[1] 123.321 523.458 632.147 741.250 855.360
[1] "geeksfor" "geeks"    "gfg"      "c++"      "R"        "java"     "python"  
[1] "g" "e" "e" "k" "s" "f" "o" "r" "g" "e" "e" "k" "s"

Explicación
aquí, el recuento de elementos dobles es 5, el recuento de elementos de clasificación es 7, el recuento de elementos de caracteres es 13.
 

Leer datos de archivos usando el método scan()

Leer un archivo usando el método scan() es lo mismo que la entrada normal de la consola, solo que uno necesita pasar el nombre del archivo y el tipo de datos al método scan() .
 

Sintaxis: 
x = scan(“fileDouble.txt”, what = double()) —-for double 
x = scan(“fileString.txt”, what = ” “) —-for string 
x = scan(“fileChar.txt” , qué = carácter()) —-para carácter

Ejemplo: 
 

R

# R program to illustrate
# taking input from the user
 
# string file input using scan()
s = scan("fileString.txt", what = " ")
 
# double file input using scan()
d = scan("fileDouble.txt", what = double())
 
# character file input using scan()
c = scan("fileChar.txt", what = character())
 
# print the inputted values
print(s) # string
print(d) # double
print(c) # character

Producción: 
 

Read 7 items
Read 5 items
Read 13 items
[1] "geek"   "for"    "geeks"  "gfg"    "c++"    "java"   "python"
[1] 123.321 523.458 632.147 741.250 855.360
[1] "g" "e" "e" "k" "s" "f" "o" "r" "g" "e" "e" "k" "s"

Guarde el archivo de datos en la misma ubicación donde se guarda el programa para un mejor acceso. De lo contrario, la ruta total del archivo debe definirse dentro del método scan() .
 

Publicación traducida automáticamente

Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *