Como usar if em r

E se

declarações podem ser muito úteis no R, como são em qualquer linguagem de programação ,. Muitas vezes, você quer fazer escolhas e tomar dependente de um certo valor da ação.

Video: Super Gringo: Como Usar IF Clauses em inglês

Definindo uma escolha em seu código é bastante simples: Se esta condição for verdadeira, então realizar uma determinada tarefa. Muitas linguagens de programação deixar você fazer isso exatamente com essas palavras: E se . . . então. R torna ainda mais fácil: você pode soltar a palavra então e especificar a sua escolha em uma E se declaração.

A E se declaração em R consiste em três elementos:

  • a palavra-chave E se

    Video: Professor de inglês explica como usar 'if clauses'

  • Um valor único lógico entre parênteses (ou uma expressão que leva a um único valor lógico)

  • Um bloco de código entre chaves que tem de ser executado quando o valor lógico é VERDADE

Aqui está uma pequena função, priceCalculator (), que calcula o preço cobrado a um cliente com base nas horas de trabalho que você fez para esse cliente. A função deve ter o número de horas (horas) Eo preço por hora (pph) Como entrada. o priceCalculator () função poderia ser algo como isto:

priceCalculator lt; - função (horas, pph = 40) {net.price lt; - * horas pphround (net.price)}

Aqui está o que este código faz:

  • Com o função palavra-chave, você define a função.

  • Tudo entre as chaves é o corpo da função (ver Capítulo 8).

  • Entre os parênteses, você especificar os argumentos horas (Sem um valor padrão) e pph (Com um valor padrão de US $ 40 por hora).



  • Você calcula o preço líquido pela multiplicação horas de pph.

  • O resultado da última declaração no corpo da sua função é o valor retornado. Neste caso, este é o preço total arredondado para o dólar.

    Video: Shakira - Hips Don't Lie ft. Wyclef Jean

Você poderia deixar cair o argumento pph e basta multiplicar horas por 40. Mas isso significaria que, se, por exemplo, o seu colega usa uma taxa horária diferente, ele teria que mudar o valor no corpo da função, a fim de ser capaz de usá-lo. É uma boa prática de codificação para usar argumentos com valores padrão para qualquer valor que pode mudar. Isso torna uma função mais flexível e utilizável.

Video: Qual a diferença entre although, though, even though x despite,in spite of

Agora imagine que você tem alguns grandes clientes que lhe dão um monte de trabalho. Para mantê-los felizes, você decide dar-lhes uma redução de 10 por cento sobre o preço por hora para as ordens que envolvem mais de 100 horas de trabalho. Assim, se o número de horas trabalhadas é maior do que 100, você calcular o novo preço multiplicando o preço de 0,9.

Você pode escrever que quase literalmente em seu código como este:

priceCalculator lt; - função (horas, pph = 40) {net.price lt; - * horas pphif (hora gt; 100) {net.price lt; - * net.price 0,9} redondo (net.price)}

Copie este código em um arquivo de script, e enviá-lo para o console para torná-lo disponível para uso. Se você experimentar esta função, você pode ver que a redução é dada apenas quando o número de horas é maior do que 100:

gt; priceCalculator (horas = 55) [1] 2200gt; priceCalculator (= 110 horas) [1] 3960

Esta construção é a forma mais geral, você pode especificar um E se declaração. Mas se você tem apenas uma pequena linha de código no bloco de código, você não tem que colocar as cintas em torno dele. Você pode alterar a completa E se declaração na função com a seguinte linha:

se (hora gt; 100) net.price lt; - * 0,9 net.price

A maneira usual de obter ajuda em uma função chamada, por exemplo, fun.name (?fun.name) Não funciona para E se. Para acessar a ajuda integrada para E se, você tem que citar o nome da função. Você pode usar aspas simples, aspas duplas, ou backticks. Cada uma das seguintes afirmações leva você para a página de ajuda para E se:

?`E se`?"E se"? `If`

Publicações relacionadas