Como para reduzir o número de linhas em r

Ao transformar o roteiro em R, nem todos os elementos são necessários. Na verdade, a Retorna()

declaração é opcional, porque, por padrão, R sempre retornará o valor da última linha de código no corpo da função.

Video: Curso Word aula 4.1 Espaçamento Entre Linhas - Thiago Ladislau

Retornar valores por defeito

Suponha que você esqueceu de adicionar retorno (resultado) no addPercent () função. O que aconteceria então? Você pode descobrir se você excluir a última linha do addPercent () função, salvar o arquivo, e fonte novamente para carregá-lo no espaço de trabalho.

Qualquer alteração que você faz para uma função terá efeito somente depois que você enviar o código adaptado para o console. Isso efetivamente substituir o objeto de função velho por um novo.

Se você tentar addPercent (new.numbers) novamente, você vê. . . nada. Aparentemente, a função não fazer mais nada - mas isso é uma ilusão, como você pode ver com o seguinte código:

Video: Como diminuir o tamanho das linhas da tabela

gt; impressão (addPercent (new.numbers)) [1] "82,2%" "2,5%" "162%" "40%"

Neste caso, a última linha da função retorna o valor de resultado invisível, é por isso que você vê-lo somente se você perguntar especificamente para imprimi-lo. O valor é devolvido de forma invisível devido à atribuição na última linha. Porque este não é realmente prático, você pode soltar a atribuição na última linha e alterar o código de função para o seguinte:

addPercent lt; - função (x) {por cento lt; - redondo (x * 100, dígitos = 1) pasta (por cento, "%", Setembro = ")}

Esta função funciona novamente como antes. Pode parecer Retorna() é totalmente inútil, mas você realmente precisa dele se você quiser sair da função antes do final do código no corpo. Por exemplo, você pode adicionar uma linha para o addPercent função que verifica se x é numérico, e se não, retornos NULO, como isso:

addPercent lt; - (! is.numeric (x)) função (x) {if retorno (NULL) por cento lt; - redondo (x * 100, dígitos = 1) pasta (por cento, "%", Setembro = ")}

Quebrar as paredes



As chaves, {}, formar a parede proverbial em torno da função, mas em alguns casos você pode deixá-los bem. Suponha que você queira calcular as probabilidades de uma proporção. As chances de algo acontecer é não mais do que a chance que acontece dividida pela chance de que isso não aconteça. Assim, para calcular as probabilidades, você pode escrever uma função como esta:

gt; probabilidade lt; - função (x) x / (1-x)

Mesmo sem as chaves ou Retorna() declaração, isso funciona perfeitamente bem, como você pode ver no exemplo a seguir:

gt; probabilidades (0,8) [1] 4

Se uma função consiste em apenas uma linha de código, você pode simplesmente adicionar essa linha após a lista de argumentos sem encerrando-chaves. R verá o código após a lista de argumentos como o corpo da função.

Você poderia fazer o mesmo com o addPercent () função aninhando tudo assim:

gt; addPercent lt; - função (x) (pasta a redondos (x * 100, dígitos = 1), "%", Setembro = ")

Isso é um plano astuto para dar a próxima pessoa ler esse código uma grande dor de cabeça. É um pouco menos de um plano astuto se que a próxima pessoa é você, porém, e as possibilidades são, ele será.

Economizando espaço em um corpo da função é muito menos importante do que manter o código legível, porque economiza espaço ganha nada. Construções como o probabilidade função são úteis apenas em casos muito específicos.


Publicações relacionadas