Como usar o argumento pontos na r

Existem várias maneiras de adicionar argumentos em R. A addPercent () função arredonda cada percentual com uma casa decimal, mas você pode adicionar outro argumento para especificar o número de dígitos dos volta() função deve usar da mesma forma que puder para o mult argumento. Se você tem um monte de argumentos que você passar para outras funções dentro do corpo, você pode ter uma longa lista de argumentos.

R tem uma solução genial para isso: os pontos (...) Argumento. Você pode ver o argumento de pontos como uma porta extra em sua função pouco. Através dessa porta, você soltar recursos adicionais (argumentos) imediatamente no lugar certo na linha de produção (o corpo), sem o incômodo de ter que verificar tudo no portão principal.

Você normalmente usa o argumento pontos, adicionando-o no final da lista de argumentos de sua própria função e no final dos argumentos para a função que deseja passar argumentos para.

Para passar qualquer argumento para o volta() função dentro do corpo de addPercent, você adaptar o código do último como segue:

addPercent lt; - função (x, mult = 100, ...) {por cento lt; - round (x * mult, ...) pasta (por cento, "%", Setembro = ")}

Agora você pode especificar o dígitos argumento para a volta() na função addPercent () chamar assim:

gt; addPercent (new.numbers, dígitos = 2) [1] "82,23%" "2,49%" "162%" "40%"

Você não tem que especificar qualquer argumento, se a função de passar os argumentos para não requer isso. Você pode usar o addPercent () função como antes:



gt; addPercent (new.numbers) [1] "82%" "2%" "162%" "40%"

Observe que o resultado não é o mesmo que costumava ser. Os números são arredondados para números inteiros e não à primeira casa decimal.

Se você não especificar um argumento em vez dos pontos, a função onde os argumentos são passados ​​para utiliza os seus próprios valores padrão. Se você quiser especificar diferentes valores padrão, você terá que adicionar um argumento específico para a lista de argumentos em vez de usar os pontos.

Assim, para obter addPercent () usar um arredondamento padrão para uma casa decimal, você tem que usar o seguinte código:

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

Você não tem que dar o argumento na lista de argumentos o mesmo nome que o argumento usado por volta(). Você pode usar qualquer nome que você quiser, contanto que você colocá-lo na posição correta dentro do corpo. No entanto, se você pode usar nomes para os argumentos que também são usados ​​por funções nativas dentro R, vai ser mais fácil para as pessoas entenderem o que o argumento faz sem ter de olhar para o código-fonte.

R não vai reclamar se você usar o argumento pontos em mais de uma função dentro do corpo, mas antes de passar argumentos para mais de uma função no corpo, você tem que ter certeza que isso não vai causar nenhum problema. R passa todos argumentos extras para cada função, e - se você tiver sorte - queixa-se sobre a confusão que resulta depois.


Publicações relacionadas