Cómo utilizar las funciones internas en r

Video: Como usar la función BUSCARV en Excel - Capítulo 116

A veces, puede ser muy útil usar las funciones internas en R. Escribir sus funciones de una manera tal que ellos necesitan objetos en el entorno global realmente no tiene sentido, porque el uso de funciones para evitar la dependencia de los objetos en el entorno global en primer lugar.

De hecho, todo el concepto detrás de R se opone firmemente el uso de variables globales utilizadas en diferentes funciones. Como lenguaje de programación funcional, una de las ideas principales de R es que el resultado de una función no debe ser dependiente de nada, pero los valores de los argumentos de la función. Si le das a los argumentos de los mismos valores, siempre se obtiene el mismo resultado.

Si usted viene de otros lenguajes de programación como Java, esta característica puede parecerle extraño, pero tiene sus méritos. A veces es necesario repetir algunos cálculos varias veces dentro de una función, pero estos cálculos sólo tienen sentido dentro de esa función.

Suponga que desea comparar la producción de luz de algunas lámparas a media potencia y la potencia completa. Las toallas se pone delante de la ventana para bloquear el sol fuera no son realmente hasta el trabajo, por lo que también miden la cantidad de luz sigue llegando a través. Que desea restar la media de este valor a partir de los resultados con el fin de corregir sus medidas.

Para el cálculo de la eficiencia en el 50 por ciento de potencia, se puede utilizar la siguiente función:

calculate.eff lt; - función (x, y, control) {min.base lt; - función (z) z - medio (control) min.base (x) / min.base (y)}

Dentro de calculate.eff () función, se ve otra definición de función para una min.base () función. Exactamente como en el caso de otros objetos, esta función se crea en el entorno local de calculate.eff () y destruido de nuevo cuando la función se lleva a cabo. Usted no encontrará min.base () de vuelta en el espacio de trabajo.

Puede utilizar la función de la siguiente manera:

Video: Funciones Geogebra

gt; mitad lt; - c (2,23, 3,23, 1,48) gt; completo lt; - c (4,85, 4,95, 4,12) gt; nada lt; - c (0,14, 0,18, 0,56, 0,23) gt; calculate.eff (medio, por completo, nada) [1] 0,4270093 0,6318887 0,3129473

Si nos fijamos un poco más de cerca la definición de la función de min.base (), se observa que éste utiliza un objeto controlar pero no tiene una discusión con ese nombre. ¿Cómo funciona esto entonces? Cuando se llama a la función, ocurre lo siguiente:

Video: Función BUSCARV en Excel 2010

  1. La función calculate.eff () crea un nuevo entorno local que contiene los objetos x (Con el valor de cincuenta), y (Con el valor de cien), controlar (Con el valor de nada), Así como la función de min.base ().

  2. La función min.base () crea un nuevo entorno local dentro de la de calculate.eff () que contiene sólo un objeto z con el valor de x.

  3. min.base () busca el objeto controlar en el entorno de calculate.eff () y resta la media de este vector de cada número de z. a continuación, se devuelve este valor.

  4. Lo mismo ocurre de nuevo, pero esta vez z Obtiene el valor de y.

  5. Ambos resultados se dividen por otra, y el resultado se transmite al medio ambiente mundial de nuevo.

El entorno local está integrado en el entorno en el que se define la función, no donde se llama. Supongamos que utiliza addPercent () dentro calculate.eff () para dar formato a los números. El entorno local creado por addPercent () No está incrustado en la de calculate.eff () pero en el medio ambiente mundial, donde addPercent () se define.

Artículos Relacionados