在 R 中上台

Raise to power in R

这是初学者的问题。

  1. ^**有什么区别? 例如:

    2 ^ 10
    
    [1] 1024
    
    2 ** 10
    
    [1] 1024
    
  2. power(x,y)这样的功能吗

1:没有区别。保留它以允许旧的 S 代码继续运行。这在 ?Math?Arithmetic

中记录为“注释”

2:是的:但你已经知道了:

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

在 R 中,数学运算符实际上是函数,解析器负责为您重新排列参数和函数名称,以模拟普通的数学中缀符号。也记录在 ?Math.

编辑:让我补充一点,了解 R 如何处理中缀运算符(即双参数函数)对于理解基础中缀“[[”和“[”函数作为(函数式)第二个参数的使用非常重要到 lapplysapply:

> 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