Cómo aplicar funciones a un vector de r
los aplicar () función trabaja en cualquier cosa que tiene dimensiones en R, pero lo que si usted no tiene dimensiones? Por eso, usted tiene dos funciones relacionadas de la familia de aplicar a su disposición sapply () y lapply (). los l en lapply es sinónimo de lista y el s en sapply es sinónimo de simplificar.
Las dos funciones funcionan básicamente de la misma - la única diferencia es que lapply () siempre devuelve una lista con el resultado, mientras que sapply () trata de simplificar el objeto final si es posible.
Ambas cosas sapply () y lapply () considerar cada valor en el vector para ser un elemento en el que se puede aplicar una función. Muchas de las funciones de trabajo de I en una forma vectorizada, así que hay muchas veces sin necesidad de utilizar este.
los switch () función, sin embargo, no funciona de una forma vectorizada. Considere el siguiente ejemplo básico:
> Sapply (c ('a', 'b'), switch, a = 'Hola', b = 'Adiós') ab "hola" "adiós"
los sapply () llamada funciona muy similar a la aplicar () llamar, aunque usted no tiene un argumento que especifica el índice. He aquí un resumen:
El primer argumento es el vector en el que los valores que desea aplicar la función - en este caso, el vector taxi').
El segundo argumento es el nombre de la función - en este caso, interruptor.
Todos los demás argumentos son simplemente los argumentos se pasan a la interruptor función.
los sapply () función ahora toma primero el valor 'la' y luego el valor 'b' como primer argumento a switch (), utilizando los argumentos a = 'Hola' y b = 'Adiós' cada vez que los otros argumentos. Combina ambos resultados en un vector y utiliza los valores de taxi') como nombres para el vector resultante.
los sapply () función tiene un argumento USE.NAMES que se puede establecer a FALSO si usted no quiere sapply () utilizar valores de caracteres como nombres para el resultado.