Aumentar a potência em R

Esta é uma pergunta de principiante.

  1. Qual é a diferença entre ^ e **? Por exemplo:

    2 ^ 10
    
    [1] 1024
    
    2 ** 10
    
    [1] 1024
    
  2. existe uma função como power(x,y)?

Author: seaotternerd, 2015-05-05

1 answers

1: não há diferença. Ele é mantido ao redor para permitir que o antigo código S continue a funcionar. Esta é documentada uma "nota" em ?Math

2: Sim, mas tu já o sabes

`^`(x,y)
#[1] 1024

Em R, Os operadores matemáticos são realmente funções que o analisador trata de reorganizar argumentos e nomes de funções para que você possa simular a notação matemática simples de infix. Também documentado em ?Math.

Editar: deixe-me adicionar que saber como R lida com os operadores infix (ou seja, dois argumentos funções) é muito importante na compreensão do uso do infix fundamental " [["e "["- funções como segundo argumento (funcional) para lapply e sapply:

> sapply( list( list(1,2,3), list(4,3,6) ), "[[", 1)
[1] 1 4
> firsts <- function(lis) sapply(lis, "[[", 1)
> firsts( list( list(1,2,3), list(4,3,6) ) )
[1] 1 4
 21
Author: 42-, 2017-06-13 00:57:51