Como usar a família se aplicam de funções em r

Video: Funções da família e da instituição

utilização para ansas tem alguns efeitos colaterais muito importantes. Os objetos criados no para circuito permanecer no espaço de trabalho depois. Objetos você mudar no para laço são alteradas no espaço de trabalho. Embora isso possa ser as intenções para alguns, para outros, este é um efeito colateral indesejado do caminho para loops são implementados em R.

Dê uma olhada no seguinte exemplo:

gt; Songline lt; - `Saia dos meus sonhos ...` gt; for (Songline em 1: 5) print ( `... Entre no meu carro!`)

Ao contrário do que você pode esperar, depois de executar este código, o valor de Songline Não é a string ‘Saia dos meus sonhos ...’, mas o número 5, como mostrado na saída abaixo:

gt; Songline [1] 5

Embora você nunca mudou explicitamente o valor de Songline em qualquer lugar do código, R fá-lo implicitamente quando a realização do para ciclo. Cada iteração, R reatribui o próximo valor a partir do vector de Songline . . . no espaço de trabalho!

Ao escolher os nomes das variáveis ​​e o identificador de forma inteligente, você pode evitar correr em apuros. Ao escrever grandes scripts, você precisa fazer alguma contabilidade sério para os nomes para evitar erros.



Para ser completamente correto, usando um para laço tem um efeito sobre o meio ambiente em que trabalha naquele momento. Se você usar apenas o para circuito em scripts que são executadas no console, os efeitos terá lugar no espaço de trabalho. Se você usar um para loop no corpo da função, os efeitos terá lugar dentro do ambiente dessa função.

Aqui está a boa notícia: R tem outro sistema de looping que é muito poderoso, que é pelo menos tão rápido quanto para laços (e às vezes muito mais rápido), e - o mais importante de tudo - que não tem os efeitos colaterais de uma para ciclo. Na verdade, este sistema é constituído por uma família completa de funções relacionadas, conhecido como o aplicar família. Esta família contém sete funções, todas terminando com Aplique.

As características familiares

Antes de começar a usar qualquer uma das funções na família aplicar, aqui estão as propriedades mais importantes destas funções:

  • Cada uma das funções aplicam leva pelo menos dois argumentos: um objeto e uma outra função. Você passa a função como um argumento.

  • Nenhum destes aplicar funções tem efeitos colaterais. Esta é a principal razão para usá-los !: Se você pode usar qualquer aplicar a função em vez de uma para laço, utilizar a solução de aplicar. Esteja ciente de que os possíveis efeitos colaterais da aplicado função não são atendidos pela família aplicar.

    Video: MFUNA | FP4 – Dada uma função do 2o.grau calcule o valor de x para obter a imagem dada

  • Cada função se aplicam pode passar argumentos para a função que é dado como um argumento. Ele faz isso usando o pontos argumento.

  • Cada função da família aplicar sempre retorna um resultado. Usando a família se aplicam só faz sentido se você precisa que o resultado. Se você deseja imprimir mensagens para o console com impressão() ou gato() por exemplo, usando a família aplicar é desnecessário.

    Video: 1º ano do EM - 4 - estudo das funções - 3 - valor numérico da função.wmv

Conheça três dos membros

Diga olá para Aplique(), sapply (), e lapply (), os membros mais utilizados da família aplicar. Cada uma destas funções se aplica outra função para todos os elementos em um objeto. O que esses elementos são depende do objeto ea função.

Video: Matemática - Teoria das Funções - Conceitos Básicos

Nome funçãoObjetos da função trabalha comQual a função vê como ElementsTipo de resultado
ApliqueMatrizLinhas ou colunasVector, matriz, matriz, ou lista
ordemFileiras, colunas, ou qualquer dimensãoVector, matriz, matriz, ou lista
Quadro de dadosLinhas ou colunasVector, matriz, matriz, ou lista
sapplyVetorelementosVetor, matriz ou lista
Quadro de dadosvariáveisVetor, matriz ou lista
ListaelementosVetor, matriz ou lista
lapplyVetorelementosLista
Quadro de dadosvariáveisLista
ListaelementosLista

Publicações relacionadas