Cómo pasar de un guión para una función en r
Pasar de un guión para una función no se necesita mucho esfuerzo en absoluto. En R, una función es esencialmente una pieza de código que se ejecuta consecutivamente y sin interrupción. De esa manera, una función no difiere mucho de una carrera de la escritura mediante el fuente()
función.Sin embargo, una función tiene dos muy buenas ventajas sobre los scripts:
Las funciones pueden trabajar con entrada variable, por lo que usarlo con diferentes datos.
Las funciones devuelven el resultado como un objeto, para que pueda trabajar con el resultado de esa función.
La mejor manera de aprender a nadar es saltando en la parte más profunda, así que la próxima se escribe una función para ver lo fácil que es en R.
Hacer el guión
Suponga que desea presentar números fraccionarios (por ejemplo, 1/2) en porcentajes, muy bien redondeadas a un dígito decimal. Aquí es cómo lograr que:
Multiplica los números fraccionarios por 100.
Redondear el resultado con un decimal.
Puede utilizar el redondo() función para hacer esto.
Pegue un signo de porcentaje después del número redondeado.
los pegar() función está a su servicio para cumplir con esta tarea.
Imprimir el resultado.
los impresión() función hace esto.
Usted puede traducir fácilmente estos pasos en un pequeño script para R. Por lo tanto, abrir un nuevo archivo de script en su editor y escriba el siguiente código:
X lt; - c (0.458, 1.6653, 0.83112) por ciento lt; - round (x * 100, dígitos = 1) resultado lt; - pasta (ciento, "% # 148 ;, septiembre = " ") print (resultado)
Si guarda este script como un archivo de secuencia de comandos - por ejemplo, pastePercent.R - ahora usted puede llamar a esta secuencia de comandos en la consola con el siguiente comando:
> Fuente (" pastePercent.R ") [1] " 45,8% " " 166,5% " " 83,1% "
Eso funciona espléndidamente, siempre y cuando usted quiere ver los mismos tres números cada vez que se llama a la secuencia de comandos. Pero el uso de la escritura para otros datos sería leve inconveniente, ya que tendría que cambiar el guión cada vez.
En la mayoría de los editores, también puede fuente un guión (enviar un archivo de comandos completa a la consola R) con un simple clic. En RStudio, esto se realiza haciendo clic en el botón Fuente o pulsando Ctrl + Shift + S para el abastecimiento y sin eco, y Ctrl + Shift + Enter para el aprovisionamiento con eco.
La transformación de la secuencia de comandos
Para hacer este script en una función, es necesario hacer algunas cosas. Imagínese el guión como una pequeña fábrica que lleva el material numérico prima y pule hasta porcentajes brillantes cada matemático se anhela.
En primer lugar, usted tiene que construir el edificio de la fábrica, de preferencia con una dirección para que la gente sepa dónde enviar a sus números. Entonces usted tiene que instalar una puerta de entrada para que pueda obtener los números en bruto. A continuación, se crea la línea de producción para transformar esos números. Por último, hay que instalar una puerta trasera para que pueda enviar sus porcentajes brillantes en el mundo.
Para construir su fábrica, cambiar la secuencia de comandos para el siguiente código:
addPercent lt; - la función (x) {ciento lt; - round (x * 100, dígitos = 1) resultado lt; - pasta (ciento, "% # 148 ;, septiembre = " ") retorno (resultado)}
Echa un vistazo a las diferentes partes que componen esta pequeña fábrica. La función tiene los siguientes elementos:
La palabra clave función Siempre debe ser seguido de paréntesis. Narra R que lo que viene a continuación es una función.
Los paréntesis después función formar la puerta principal, o lista de argumentos, de su función. Entre paréntesis, se dan los argumentos de la función. En este caso, sólo hay un argumento, llamado X.
Los aparatos ortopédicos, {}, se puede ver como las paredes de su función. Todo entre las llaves es parte de la línea de montaje, o la cuerpo de su función.
los regreso() declaración es la puerta de atrás de su función. El objeto de poner entre paréntesis se devuelve desde dentro de la función de su área de trabajo. Usted puede poner sólo un objeto entre los paréntesis.
Si pones todo esto junto, se obtiene una función completa, pero I no sabe dónde encontrarlo todavía. Por lo tanto, se utiliza el operador de asignación lt; - poner esta función completa en un objeto llamado addPercent. Esta es la dirección R puede enviar números a la transformación. Ahora la función tiene un nombre bonito y está listo para usar.
No se puede especificar en la lista de argumentos que X debe ser un vector numérico. Por ejemplo, si intenta utilizar un vector de caracteres como un valor para X, la multiplicación dentro del cuerpo generará un error porque no se puede multiplicar caracteres de un número. Si desea controlar qué tipo de objeto se da como argumento, hay que hacerlo de forma manual, en el cuerpo de la función.