Como vetorizar suas funções no r

funções Vectorized são uma característica muito útil de R, mas os programadores que estão acostumados a outras línguas muitas vezes têm dificuldade com este conceito em primeiro lugar. UMA vectorized

função não funciona apenas em um único valor, mas em todo um vetor de valores ao mesmo tempo.

Seu reflexo natural como um programador pode ser para fazer um loop sobre todos os valores do vetor e aplicar a função, mas vetorização faz que desnecessário. Confie em nós: Quando você começar a usar vetorização em R, que vai ajudar a simplificar seu código.

Para tentar funções vetorizadas, você tem que fazer um vetor. Você pode fazer isso usando a c () função, que significa concatenar. Os valores reais estão separados por vírgulas.

Aqui está um exemplo: Suponha que Granny joga basquete com seu amigo Geraldine, e você manter uma pontuação de número de cestas em cada jogo da avó. Depois de seis jogos, você quer saber quantos cestos Granny tem feito até agora nesta temporada. Você pode colocar esses números em um vetor, como este:

gt; baskets.of.Granny lt; - c (12,4,4,6,9,3) gt; baskets.of.Granny [1] 12 4 4 6 9 3

Para encontrar o número total de cestas Granny feito, basta digitar o seguinte:

Video: Vídeo aula, como vetorizar sua foto no Adobe Illustrator

gt; soma (baskets.of.Granny) [1] 38


Você pode obter o mesmo resultado, indo sobre o número vector por número, adicionando cada novo número à soma dos números anteriores, mas esse método seria necessário que você escrever mais código e que seria necessário mais tempo para calcular. Você não vai notar que em apenas seis números, mas a diferença será óbvio quando você tem que somar alguns milhares deles.

Video: Como Vetorizar uma Imagem com apenas 7 Cliques no Adobe Illustrator !

Neste exemplo de vetorização, a função utiliza o vector completo para lhe dar um resultado. Concedido, este exemplo é trivial (você deve ter adivinhado que soma() iria realizar o mesmo objetivo), mas para outras funções em R, a vetorização pode ser menos óbvio.

Um exemplo óbvio menos de uma função vectorizado é a colar() função. Se você fizer um vector com os primeiros nomes dos membros de sua família, colar() pode adicionar o sobrenome para todos com um comando, como no exemplo a seguir:

gt; primeiro nome lt; - c ("Joris", "Carolien", "Koen") Gt; último nome lt; - "Meys"gt; colar (firstnames, sobrenome) [1] "Joris Meys" "Carolien Meys" "Koen Meys"

R tem o vetor primeiro nome e, em seguida, a cola último nome para cada valor. Quão legal é isso? Na verdade, R combina dois vetores. O segundo vector - neste caso, último nome - é apenas um valor longo. Esse valor fica reciclado pelo colar() funcionar enquanto for necessário.

Você também pode dar R dois vetores mais longos, e R combiná-los elemento por elemento, como este:

gt; autores lt; - c ("Andrie","Joris") Gt; últimos nomes lt; - c ("de Vries","Meys") Gt; colar (autores, lastnames) [1] "Andrie de Vries" "Joris Meys"

Nenhum código complicado é necessário. Tudo que você tem a fazer é fazer os vetores e colocá-los na função.


Publicações relacionadas