Como aplicar funções a um vetor em R

o aplicar() função funciona em qualquer coisa que tem dimensões em R, mas que se você não tem dimensões? Para isso, você tem duas funções relacionadas da família aplicam à sua disposição sapply () e lapply (). o eu dentro lapply representa lista ea s dentro sapply significa simplificar.

As duas funções funcionam basicamente a mesma - a única diferença é que lapply () sempre retorna uma lista com o resultado, enquanto sapply () tenta simplificar o objecto final, se possível.

Ambos sapply () e lapply () considerar cada valor no vector a ser um elemento em que se pode aplicar uma função. Muitas funções no trabalho R de uma forma vectorized, por isso há muitas vezes não há necessidade de usar este.

o interruptor() função, no entanto, não funciona de uma forma vectorized. Considere o seguinte exemplo básico:

> Sapply (c ( 'a', 'b'), switch, a = 'Olá', b = 'Adeus') a b "Olá" "Goodbye"

o sapply () chamada funciona de forma muito semelhante à aplicar() chamar, embora você não tem um argumento que especifica o índice. Aqui vai um resumo:

  • O primeiro argumento é o vector em que os valores que deseja aplicar a função - neste caso, o vetor táxi').

  • O segundo argumento é o nome da função - neste caso, interruptor.

  • Todos os outros argumentos são simplesmente os argumentos que você passa para o interruptor função.

o sapply () função agora leva pela primeira vez o valor 'uma' e, em seguida, o valor 'B' como o primeiro argumento para interruptor(), utilizando os argumentos a = 'Olá' e b = 'Adeus' cada tempo que os outros argumentos. Ela combina ambos os resultados num vector e usa os valores de táxi') como nomes para o vector resultante.

o sapply () função tem um argumento USE.NAMES que você pode definir a FALSO Se você não quiser sapply () usar valores de caracteres como nomes para o resultado.

menu