Como usar uma função em r

Depois de ter criado e transformado um script em R, salvar o script novamente, e carregá-lo para o console usando o fonte()

comando exibido anteriormente. Agora você vê . . . nada. R não deixá-lo saber, por si só que ele carregou a função, mas está lá no espaço de trabalho, como você pode verificar usando ls ():

gt; ls () [1] "addPercent" "por cento""resultado""X"

Se você criar uma função e carregá-lo no espaço de trabalho com a terceirização o script que contém a função, esta função se torna um objeto no espaço de trabalho e pode, portanto, ser encontrada usando ls () e - se necessário - removido usando RM ().

Formatar os números em R

A saída de ls () diz que a função está lá, então você deve ser capaz de usá-lo. Agora você pode criar as percentagens mais surpreendentes usando a addPercent () funcionar como este:

gt; new.numbers lt; - c (0,8223, 0,02487, 1,62, 0,4) gt; addPercent (new.numbers) [1] "82,2%" "2,5%" "162%" "40%"

Na verdade, você poderia usar o código sprintf ( “% %% 1.1f”, 100 * x) ao invés de addPercent () função para um resultado muito semelhante. codificadores C reconhecerá sprintf () imediatamente e concordar que é incrivelmente versátil e complexa. A função vem com uma página de Ajuda muito tempo que é definitivamente vale a pena ler se você precisa formatar valores muitas vezes. Se não, salvar-se a dor de cabeça.

Brincar com objetos de função R

Porque uma função em R é apenas mais um objeto, você pode manipulá-lo da mesma maneira como você manipula outros objetos. Você pode atribuir a função a um novo objeto e copiá-lo de forma eficaz como esta:



gt; ppaste lt; - addPercent

Agora ppaste é uma função bem que faz exatamente o mesmo que addPercent. Note que você não adicionar parênteses após addPercent nesse caso.

Se você adicionar os parênteses, você chamar a função e colocar o resultado dessa chamada em ppaste. Se você não adicionar os parênteses, você se refere ao próprio objeto de função sem chamá-lo. Essa diferença é importante quando você usar funções como argumentos.

Você pode imprimir o conteúdo de uma função simplesmente digitando seu nome no prompt, como este:

gt; ppastefunction (x) {por cento lt; - redondo (x * 100, dígitos = 1) resultado lt; - colar (por cento, "%", Setembro = ") Retorno (resultado)}

Assim, a atribuição de ppaste realmente copiou o código de função de addPercent em um novo objeto.

Isso é tudo legal, mas isso também significa que você pode efetivamente apagar uma função se você acidentalmente usar o mesmo nome de outro objeto. Ou você pode perder dados se você acidentalmente deu o mesmo nome que o seu objeto de dados para uma função. Não há nenhum botão de desfazer em R, então preste atenção aos nomes que você escolher.

Felizmente, este problema não ocorre com as funções de base R e funções contidas nos pacotes. Embora não seja uma boa idéia, você poderia, por exemplo, nomear um vetor soma e ainda ser capaz de usar o soma() função mais tarde. Quando você usa soma() como uma função, R só procura funções com esse nome e ignora todos os outros objetos com o mesmo nome.


Publicações relacionadas