¿Cómo reducir el número de líneas en r

Al transformar el guión en I, no se requieren todos los elementos. De hecho, la regreso() declaración es opcional, ya que, por defecto, R siempre devolverá el valor de la última línea de código en el cuerpo de la función.

Devolver valores por defecto

Supongamos que usted se olvidó de añadir retorno (resultado) en el addPercent () función. ¿Qué pasaría entonces? Puede averiguar si elimina la última línea de la addPercent () función, guardar el archivo, y la fuente de nuevo para cargarlo en el espacio de trabajo.

Video: Word Tutorial Español: Viñetas, numeración y listas multinivel

Cualquier cambio que realice una función no surtirá efecto hasta después de enviar el código adaptado a la consola. Esto sobrescribirá efectivamente el viejo objeto de función por una nueva.

Si intentas addPercent (new.numbers) de nuevo, que se ve. . . nada. Al parecer, la función no hace nada más - pero esto es una ilusión, como se puede ver con el siguiente código:

gt; impresión (addPercent (new.numbers)) [1] "82,2%" "2,5%" "162%" "40%"

En este caso, la última línea de la función devuelve el valor de resultado invisible, es por ello que se ve sólo si usted específicamente para imprimirlo. El valor se devuelve invisible debido a la asignación en la última línea. Debido a que este no es realmente práctico, se puede eliminar la asignación en la última línea y cambiar el código de función a lo siguiente:

Video: Cómo Leer 3 veces más Rápido (Método Tim Ferris)

addPercent lt; - función (x) {por ciento lt; - ronda (x * 100, dígitos = 1) pasta (por ciento, "%", Sep = ")}

Esta función se activa de nuevo como antes. Puede parecer regreso() es completamente inútil, pero que realmente lo necesita si desea salir de la función antes del final del código en el cuerpo. Por ejemplo, se podría añadir una línea a la addPercent función que comprueba si x es numérico, y si no, vuelve NULO, Me gusta esto:

addPercent lt; - (! is.numeric (x)) función (x) {if retorno (NULL) por ciento lt; - ronda (x * 100, dígitos = 1) pasta (por ciento, "%", Sep = ")}

Romper las paredes

Los aparatos ortopédicos, {}, formar la pared proverbial alrededor de la función, pero en algunos casos se puede soltar ellos también. Suponga que desea calcular las probabilidades de una proporción. Las probabilidades de que ocurra algo no es más que la posibilidad de que suceda dividido por la probabilidad de que no ocurra. Por lo tanto, para el cálculo de las probabilidades, puede escribir una función como esta:

gt; posibilidades lt; - función (x) x / (1-x)

Incluso sin las llaves o regreso() declaración, esto funciona perfectamente bien, como se puede ver en el siguiente ejemplo:

Video: Mejor Ejercicio facial para eliminar las lineas de expresion 2013

gt; probabilidades (0,8) [1] 4

Si una función consta de una sola línea de código, puede simplemente añadir que la línea después de la lista de argumentos sin formar parte de los apoyos. R verá el código después de la lista de argumentos como el cuerpo de la función.

Usted podría hacer lo mismo con el addPercent () función anidando todo así:

gt; addPercent lt; - función (x) pasta (redondos (x * 100, dígitos = 1), "%", Sep = ")

Eso es un astuto plan para dar la siguiente persona que lee el código de un gran dolor de cabeza. Es un poco menos de un astuto plan si ese siguiente persona que es, sin embargo, y lo más probable es, que será.

Ahorro de espacio en un cuerpo de la función es mucho menos importante que mantener el código legible, ya que el ahorro de espacio que no gana nada. Construcciones como el posibilidades función son útiles sólo en casos muy específicos.

Artículos Relacionados