Como caçar bugs no r

Caça para Bugs no R, por vezes, pode ser uma situação complicada. Embora a mensagem de erro sempre lhe diz que linha de código gera o erro, pode não ser a linha de código onde as coisas começaram a correr mal. Isso faz bug caçar um negócio complexo, mas algumas estratégias simples podem ajudar a rastrear essas criaturas traquinas.

Video: truques ganhar em maquinas caça níqueis halloween

Calcule o logit

Para ilustrar algumas estratégias bug-caça em R, usar um exemplo simples. Digamos, por exemplo, o seu colega escreveu duas funções para calcular a logit de ambas as proporções e percentagens, mas ele não pode levá-los a trabalhar. Então, ele pede-lhe para ajudar a encontrar os bugs. Aqui está o código que ele envia para você:

Video: Ganhar cupons DDTank Bug caça Milionarios

# cheques de entrada e faz logit calculationlogit lt; - função (x) X gt; 1, "N / D", X) log (x / (1 - x)) # transforma percentual para o número e chama logitlogitpercent lt; - função (x) {x lt; - gsub ("%", ", X) logit (as.numeric (x))}

Copie e cole este código no editor, e salve o arquivo usando, por exemplo, logitfunc.R como o próprio nome. Depois disso, fonte o arquivo em R partir do editor usando o fonte() função ou o botão de fonte ou comando do editor de sua escolha. Agora o código de função é carregado em P, e você está pronto para começar a caça.

Video: Ragnarok #34 - Bugs da Família e Flecha de Caça Arrumados

O logit é nada mais do que o logaritmo das probabilidades, calculado como log (x / (1-x)) E se X é a probabilidade de algum evento a ter lugar. Os estatísticos usar esta na modelagem de dados binários usando modelos lineares generalizados. Se você precisar calcular um logit, você pode usar a função qlogis () por isso. Para calcular probabilidades de valores logit, você usa o plogis () função.

Saiba onde um erro vem de

Seu colega reclamou que ele tem um erro ao tentar o seguinte código:


gt; logitpercent (`50% `) Erro em 1 - x: argumento não-numérico para operador binário

Com certeza, mas você não encontrar o código 1 - x no corpo de logitpercent (). Assim, o erro vem de outro lugar. Para saber de onde, você pode usar o rastreamento () função imediatamente após o erro ocorreu, como este:

gt; rastreamento () 2: logit (as.numeric (x)), a logitfunc.R # 91: logitpercent ("50%")

este rastreamento () impressões de função que é chamado de pilha de chamadas que levam ao último erro. Esta pilha de chamadas representa a sequência de chamadas de função, mas na ordem inversa. A função no topo representa a função em que o erro real é gerado.

Video: O bug mas verdadeiro do mCent, R$ 600,00 de créditos grátis BUG MCENT PASSO A PASSO 2017

Neste exemplo, R chamado logitpercent () função, e que função, por sua vez, chamou logit (). O rastreamento diz que o erro ocorreu no interior do logit () função. Ainda mais, o rastreamento () função diz-lhe que o erro ocorreu na linha 9 do logitfunc.R arquivo de código, como indicado por logitfunc.R # 9 no rastreamento () saída.

A pilha de chamadas lhe dá um monte de informações - às vezes até demais. Ele pode apontar para alguma função interna obscura como aquele que jogou o erro. Se essa função não tocar um sino, verifique mais elevado na pilha de chamadas para uma função que você reconhecer e iniciar a depuração de lá.


Publicações relacionadas